我对JUnit逻辑有疑问。
我已经实现了这个简单的方法:
@Test
public void testBasic() {
System.out.println("testBasic() START");
assert(true);
System.out.println("testBasic() END");
}
并且,正如预期的那样,它是绿色的,因为断言()条件被设置为 true 。
然后我使用:
更改它assert(false);
如果条件为假,运行测试时它也会再次变为绿色。
阅读文档我知道我也有 assertTrue()来测试条件是真还是假,所以我可以使用它。
但那么:简单的 assert()方法的确切目的是什么?我何时使用它以及如何使用它?
答案 0 :(得分:2)
assert
是一个Java关键字,它引用Java assertions
而不是JUnit中对assertTrue/False/Equals...()
方法的引用。
这是断言的文档:http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html
要执行JUnit断言,请导入合适的类:org.junit.Assert 并做:
import org.junit.Assert;
import org.junit.Test;
public class YourTestClass{
@Test
public void testBasic() {
System.out.println("testBasic() START");
Assert.assertTrue(true); // pass
Assert.assertFalse(true); // fail
System.out.println("testBasic() END");
}
}
答案 1 :(得分:0)
你在那里使用的是Java断言,而不是JUnit的。
默认情况下禁用Java断言。您需要使用-ea
命令行选项启用它们:
java -ea MyClass