|
|
1
389
我建议你用新的
这三个选项都是等效的,请选择您认为可读性最高的选项。 要使用方法的简单名称(并允许使用这种时态语法),需要以下导入:
|
|
|
2
144
有一个
|
|
|
3
48
我也想知道。断言的API不是很对称;为了测试对象是否相同,它提供了
当然,写的时间不长:
有了这样的断言,输出的唯一信息部分不幸的是测试方法的名称,因此描述性消息应该单独形成:
当然,这太乏味了,最好自己滚一滚
|
|
|
4
12
我认为,断言notequal的缺失确实是一种不对称,使junit的学习能力有所下降。请记住,在添加方法时,这是一个很好的例子,至少对我来说,这会降低API的复杂性:对称有助于控制更大的空间。 我的猜测是,遗漏的原因可能是调用该方法的人太少了。然而,我记得有一段时间,即使断言错误也不存在;因此,我有一个积极的期望,即考虑到这不是一个困难的方法,最终可能会添加该方法;即使我承认有许多解决方法,甚至是优雅的方法。 |
|
|
5
7
我很晚才来参加这个聚会,但我发现表格:
可用于大多数“不等于”的情况。
|
|
|
6
4
我在JAVA 8环境下使用JunIT4.12进行JUnit工作
对我来说:即使在我使用
所以我改变了
所以如果你面对的问题是
|
|
|
7
3
人们希望assertNotEquals()的明显原因是比较内置的,而不必首先将其转换为完整的对象: 详细示例:
VS
遗憾的是,由于Eclipse默认不包括JUnit4.11,所以您必须是冗长的。 注意,我不认为“1”需要用integer.valueof()包装,但是因为我刚从.NET返回,所以不依赖于我的正确性。 |
|
|
8
1
最好将hamcrest用于否定断言,而不是断言false,因为在前者中,测试报告将显示断言失败的差异。 如果使用assertfalse,则只会在报告中得到断言失败。即丢失故障原因信息。 |
|
9
0
我完全同意OP的观点。
另外,为了断言一个对象的状态,我通常使用一个容易进入对象状态的matcher API,它清楚地记录了断言的意图,并且非常便于用户理解断言失败的原因。
下面是一个例子。
JUnit 4.11+(或JUnit 5)同时作为测试运行程序和断言工具
测试按预期失败,但提供给开发人员的原因确实没有帮助。它只是说值应该不同,并输出
好的,对象不相等。但问题在哪里呢?
JUnit4.11作为测试运行程序,测试匹配器API作为断言工具
这里是相同的测试场景,但是它使用断言j(一个优秀的测试匹配器API)来声明
当然,测试仍然失败,但这一次原因是明确的:
我们可以读这个
但我们有这些价值观:
所以我们知道在哪里调查:
|
|
|
10
-2
modulo api一致性,为什么junit没有提供
也就是说,为断言逻辑中可能需要的类型提供特定的断言方法是没有尽头的!
更好的方法是提供可组合的测试原语,比如
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |