解惑

解己之惑,解人之惑

JUnit的Failure Trace的一个问题

不知道有没有人注意过或者写过,就是如果你在使用assertEquals比较一个字符串和一个对象的时候,Failure Trace给出的信息可能会误导你:
junit.framework.AssertionFailedError: expected:<<script language="javascript" src="/js/common.js" />> but was:<<script language="javascript" src="/js/common.js" />>
    at junit.framework.Assert.fail(Assert.java:47)
    at junit.framework.Assert.failNotEquals(Assert.java:282)
    at junit.framework.Assert.assertEquals(Assert.java:64)
    at junit.framework.Assert.assertEquals(Assert.java:71)

期望的内容和实际内容是完全一致的,这个是因为后面的对象的toString方法的输出结果和前面的字符串确实是一样的,但是字符串和一个其它类型的对象进行equals比较一般都是返回false的。

(Visited 276 times, 1 visits today)

1 Comment

  1. 🙂 有趣
    给了我很多启发

发表评论

邮箱地址不会被公开。 必填项已用*标注

© 2024 解惑

本主题由Anders Noren提供向上 ↑