JUnit 中的 assert() 方法究竟是如何工作的?
How exactly works the assert() method in JUnit?
我对 JUnit 逻辑有疑问。
我已经实现了这个简单的方法:
@Test
public void testBasic() {
System.out.println("testBasic() START");
assert(true);
System.out.println("testBasic() END");
}
而且,正如预期的那样,它是绿色的,因为 assert() 条件设置为 true.
然后我将其更改为:
assert(false);
并且 运行 如果条件为假,则测试它再次为绿色。
阅读文档我知道我还有 assertTrue() 来测试条件是真还是假,所以我可以使用它。
但是那么:简单的 assert() 方法的确切目的是什么?什么时候用,怎么用?
您在那里使用 Java 断言,而不是 JUnit 的断言。
Java 默认禁用断言。您需要使用 -ea
命令行选项启用它们:
java -ea MyClass
assert
是一个 Java 关键字,它引用 Java assertions
而不是对 JUnit 中的 assertTrue/False/Equals...()
方法的引用。
这是断言文档:http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html
要执行 JUnit 断言,请导入合适的 class : 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");
}
}
我对 JUnit 逻辑有疑问。
我已经实现了这个简单的方法:
@Test
public void testBasic() {
System.out.println("testBasic() START");
assert(true);
System.out.println("testBasic() END");
}
而且,正如预期的那样,它是绿色的,因为 assert() 条件设置为 true.
然后我将其更改为:
assert(false);
并且 运行 如果条件为假,则测试它再次为绿色。
阅读文档我知道我还有 assertTrue() 来测试条件是真还是假,所以我可以使用它。
但是那么:简单的 assert() 方法的确切目的是什么?什么时候用,怎么用?
您在那里使用 Java 断言,而不是 JUnit 的断言。
Java 默认禁用断言。您需要使用 -ea
命令行选项启用它们:
java -ea MyClass
assert
是一个 Java 关键字,它引用 Java assertions
而不是对 JUnit 中的 assertTrue/False/Equals...()
方法的引用。
这是断言文档:http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html
要执行 JUnit 断言,请导入合适的 class : 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");
}
}