何时应该在代码中使用assert,而不是编写junit测试。它们是一样的吗? 我认为的问题不是特定于java或任何特定语言
答案 0 :(得分:0)
java内置断言要求使用特殊标志调用JVM。这大大降低了它们的实用性。
您还应该了解在测试环境中测试产品与在生产环境中进行验证之间的差异。
含义:您总是努力使用单元测试(使用单元测试断言)测试类的所有公共方法。您始终致力于使应用程序具有可靠性,以便它不会对您的客户造成崩溃,但至少会提供明确的错误消息并为您创建日志以便调试问题。
但这些事情确实是发展的不同方面。
关于注释:JUnit只提供了许多不同版本的断言语句,仅出于一个原因:表达性。含义:它们可以帮助您编写易于理解的测试代码,例如:
assertThat(actualValue, is(expectedValue))
其中is()
是hamcrest库提供的匹配器。如果您打算了解单元测试:只需记住仅“需要”assertThat()
和hamcrest匹配器。