Java 如何在TestNG中传递断言?

Java 如何在TestNG中传递断言?,java,testng,Java,Testng,在if条件下,我希望通过断言(表示TRUE),在else条件下,我希望使其失败(表示FALSE)。在TestNG(使用断言)中如何实现这一点 您可以执行以下操作: if (counter2 == counter + 8) { try { Assert.assertEquals(expected, actual); System.out.println("Pass message"); } catch (Throwable assertionErro

在if条件下,我希望通过断言(表示TRUE),在else条件下,我希望使其失败(表示FALSE)。在TestNG(使用断言)中如何实现这一点


您可以执行以下操作:

if (counter2 == counter + 8) {
    try {
        Assert.assertEquals(expected, actual);
        System.out.println("Pass message");
    } catch (Throwable assertionError) {
        System.out.println("Fail message");
    }
}
这有帮助吗?

如果(计数器2!=计数器+8){Assert.Fail(“blah”);}


这是我找到的最好的解决方案。

为什么不把应该通过断言的代码放在断言之后呢

import org.junit.Test;
导入静态org.junit.Assert.*;
@试验
公共无效myTest(){
// ...
资产质量(计数器+8,计数器2);
//在传递断言之后,这里有一些代码。
}

我建议您查看不同的断言库。JUnit和TestNG有自己的断言。您还可以查看hamcrest()

这与硒无关。请指定您的测试框架是什么以及您的语言是什么(在我看来像Java或JavaScript)。我想你不需要
if-else
,而是像
if(counter2!=counter+8){Assert.Fail(“blah”);}
@Yi Zeng我使用java作为语言和TESTNG框架。这是最好的解决方案::if(counter2!=counter+8){Assert.Fail(“blah”);}很高兴知道你得到了最适合你需要的解决方案。
if (counter2 == counter + 8) {
    try {
        Assert.assertEquals(expected, actual);
        System.out.println("Pass message");
    } catch (Throwable assertionError) {
        System.out.println("Fail message");
    }
}