Java ComparTwo空对象的junit测试用例

Java ComparTwo空对象的junit测试用例,java,testing,junit,Java,Testing,Junit,我正在尝试编写junit测试用例, 比较两个领域;其中一个来自db,另一个来自我的程序。也许是我的领域 两者都是空的 两者都不是空的 我对这两种状态都使用assertEqual,但当两者都为null时,assertEqual抛出nullpointerException, 我怎样才能修好它 assertEquals(String.valueOf(DBnumber),String.valueOf(number) ); ps。我必须为这两种情况写一个测试 另外,我想我可以使用assertnull

我正在尝试编写junit测试用例, 比较两个领域;其中一个来自db,另一个来自我的程序。也许是我的领域

  • 两者都是空的
  • 两者都不是空的
我对这两种状态都使用assertEqual,但当两者都为null时,assertEqual抛出nullpointerException, 我怎样才能修好它

assertEquals(String.valueOf(DBnumber),String.valueOf(number) );
ps。我必须为这两种情况写一个测试
另外,我想我可以使用assertnull,但它是无效的,我不能写条件语句

如果我理解正确,这两个字段应该相等,但它们可以为null或非null。这是一份适合以下人员的工作:


我使用此代码修复junit测试 assertEquals(,String.valueOf(number))


*isNull是一个方法,如果输入字符串为null,则返回true,否则返回false。

是的,您理解正确谢谢:),我现在使用StringUtils,但给出了这个错误“java.lang.assertionError”,我导入org.apache.commons.lang for StringUtilsYep:
org.apache.commons.lang
是正确的导入。如果您得到一个
断言错误
,那么这意味着断言失败;也就是说,
StringUtils.equals(DBnumber,number)
返回false。我不明白,我在assertTrue之前写了这两个项,它们都是null,那么这个false意味着什么?什么类是
DBnumber
number
?Hm--你确定它们都是真的null(而不是“null”,字符串?),你能简单地试一下吗?以下代码通过:
String s1=null
字符串s2=null
assertTrue(s1==s2)
String.valueOf
null
参数返回字符串
“null”
,那么assertEquals如何抛出NPE呢。
assertTrue(StringUtils.equals(DBnumber, number));
if (isNull(String.valueOf(DBnumber))){
    assertTrue(Validator.isNull(String.valueOf(number)));
}else{
    assertEquals(String.valueOf(DBnumber), String.valueOf(number));
}