我对这两种方法都很困惑,因为两者都可以做同样的事情,比如下面我的代码片段.
使用assertEquals()
String a = "Hello";
String b = "Hello";
assertEquals(a, b);
Run Code Online (Sandbox Code Playgroud)
使用assertTrue()
assertTrue(a.equals(b));
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这两种方法之间的实际区别?
Jon*_*eet 35
assertEquals 更好,因为它为单元测试框架提供了更多关于你真正感兴趣的信息.这使得它可以在测试失败时提供更好的错误信息.
假设你有
String a = "Hello";
String b = "Hi";
Run Code Online (Sandbox Code Playgroud)
那么测试失败可能看起来像:
// From assertEquals(a, b)
Error: Expected "Hi"; was "Hello"
// From assertTrue:
Error: Expected true; was false
Run Code Online (Sandbox Code Playgroud)
您认为哪些方法可以为您提供更多信息,请记住这些值可能是合理复杂计算的结果?
(这些都是由于我没有安装testng而构成错误消息,但它们是单元测试框架提供的那种东西.)
| 归档时间: |
|
| 查看次数: |
7302 次 |
| 最近记录: |