应使用 AssertNull 或 AssertNotNull

AssertNull should be used or AssertNotNull

提问人:Bohn 提问时间:8/19/2011 最后编辑:Petar MinchevBohn 更新时间:12/13/2022 访问量:347990

问:

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

Java JUNIT

评论

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

答:

6赞 hvgotcodes 8/19/2011 #1

assertNotNull断言对象不为 null。如果它为 null,则测试失败,因此您需要这样做。

171赞 Petar Minchev 8/19/2011 #2

用。 方法。assertNotNull(obj)assertmust be

评论

28赞 Bohn 8/19/2011
“断言意味着必须是。” 好东西。现在他们说得通了。谢谢
28赞 punya 11/20/2015 #3

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

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

// Success.
assertNotNull(str2);

// Fail.
assertNotNull(str1);

// Success.
assertNull(str1);

// Fail.
assertNull(str2);
5赞 Vladi 5/23/2019 #4

我只想补充一点,如果你想写特殊的文本,如果它为空,那么你就把它做成这样

  Assert.assertNotNull("The object you enter return null", str1)

评论

3赞 ShadowGames 1/4/2022
需要导入什么才能调用它?
0赞 Fred Danna 12/13/2022 #5

在 JUnit 4 中,IDEA (UE 2020) 建议使用 代替 .assertThat(..., notNullValue());Assert.assertNotNull(...)

例如:

  1. IDEA警告
  2. IDEA建议
  3. IDEA修复