Java 如何在TestNG中传递断言?
在if条件下,我希望通过断言(表示TRUE),在else条件下,我希望使其失败(表示FALSE)。在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 (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");
}
}