我阅读了有关Java的断言的Oracle建议,并且它说你也应该使用assert来处理公共后置条件 (http://docs.oracle.com/javase/1.4.2/docs/guide/lang/assert.html#postconditions)。
我如何将此断言与自动化测试相结合,实际上也会进行此检查?
实施例: 在调用类“Stack”的“push”方法之后,您要检查堆栈现在是否为空。你可以使用assert,你可以使用测试。
有没有最好的做法,我可以做两件事,单位测试用更多的支票,但无论如何我会做两次,这似乎不太好。
我已经阅读了这些问题:
答案 0 :(得分:3)
编码断言的决定是实现选择 在打开断言的情况下运行JVM的决定是运行时选择。
JUnit测试应测试行为,无论实现或运行时选择如何。
要清楚,答案是您的JUnit测试应该断言(通过代码)方法具有预期的结果。如果代码中的断言有效地执行相同的操作,则这是无关紧要的,不应该依赖于不写相应的JUnit测试的理由,因为: