应该使用AssertNull或AssertNotNull


71

这是一个非常愚蠢的问题,但这是我第一次进行单元测试,因此:假设我有一个对象变量(如obj),并且如果此obj为Null,我希望单元测试失败。所以对于断言,我应该说AssertNull还是AssertNotNull吗?我很困惑他们的名字。


1
@Gweebz当然可以尝试两者,但这不是重点。他在问哪个更合适。
Steve Kuo

Answers:



19

assertNotNull()方法的意思是“传递的参数不能为null”:如果为null,则测试用例失败。
assertNull()方法表示“传递的参数必须为null”:如果它不为null,则测试用例失败。

String str1 = null;
String str2 = "hello";              

// Success.
assertNotNull(str2);

// Fail.
assertNotNull(str1);

// Success.
assertNull(str1);

// Fail.
assertNull(str2);

5

assertNotNull断言该对象不为null。如果为null,则测试失败,因此您希望这样做。


4

我只想补充一点,如果您想编写特殊文本(如果它为null),则使它像这样

  Assert.assertNotNull("The object you enter return null", str1)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.