简体   繁体   English

应使用 AssertNull 或 AssertNotNull

[英]AssertNull should be used or AssertNotNull

This is a pretty dumb question but my first time with unit testing so: lets say I have an object variable like obj and I want my unit test to Fail if this obj is Null.这是一个非常愚蠢的问题,但我第一次进行单元测试:假设我有一个像 obj 这样的对象变量,如果这个 obj 为 Null,我希望我的单元测试失败。 so for assertions, should I say AssertNull or AssertNotNull?那么对于断言,我应该说 AssertNull 还是 AssertNotNull? I get confused how they are named.我对它们的命名方式感到困惑。

Use assertNotNull(obj) . 使用assertNotNull(obj) assert means must be . assert must be

The AssertNotNull() method means "a passed parameter must not be null ": if it is null then the test case fails. AssertNotNull()方法的意思是“传递的参数不能为null ”:如果它为null,则测试用例失败。
The AssertNull() method means "a passed parameter must be null ": if it is not null then the test case fails. AssertNull()方法的意思是“传递的参数必须为null ”:如果它不为null,则测试用例失败。

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

// Success.
AssertNotNull(str2);

// Fail.
AssertNotNull(str1);

// Success.
AssertNull(str1);

// Fail.
AssertNull(str2);

assertNotNull asserts that the object is not null. assertNotNull断言该对象不为null。 If it is null the test fails, so you want that. 如果它为null,则测试失败,因此您需要它。

我只是想补充一点,如果你想要写一个特殊的文本,如果它是null,那么就像你那样

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

In JUnit 4, IDEA (UE 2020) suggests using assertThat(..., notNullValue());在 JUnit 4 中,IDEA(UE 2020)建议使用assertThat(..., notNullValue()); instead of Assert.assertNotNull(...) .而不是Assert.assertNotNull(...)

For instance:例如:

  1. IDEA warning IDEA警告
  2. IDEA suggestions IDEA建议
  3. IDEA fix IDEA修复

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM