java - 使用 JUnitParams 的 @FileParameters 时如何为参数赋予空值

标签 java junit junitparams

我尝试使用 JUnitParamsRunner 的 FileParameters 注释。我不能给变量 null。代码和测试文件如下。

@RunWith(JUnitParamsRunner.class)
public class PasswordCheckerFileParameterizedTest {


    @Test
    @FileParameters("src/test/resources/testScenarios.csv")
    public void checkPasswordIsValid_checkMultipleCase(String password,boolean expectedResult){
        PasswordChecker passwordChecker = new PasswordChecker();
        assertEquals(expectedResult,passwordChecker.checkPasswordIsValid(password));
    }
}

测试场景.csv

,false
sD1.,false
ssfdsdfsdf234.,false
SEWERWER234.,false
ssfdsdfsdSDFSDF.,false
ssfdsdfsdSDFSDF3234,false
ssfdsdfsdSDFSDF23.,true

最佳答案

我没有使用过@FileParameters,但是对于普通的@Parameters,你可以使用the @Nullable annotation :

@Test
@Parameters({"null, , null"})
public void yourTest(@Nullable String nullable, String blank, String textIsNull) {
  //  important part ^^^^^^^^^         but no @Nullable here ^^

  assertThat(nullable).isNull();         // it worked!
  assertThat(blank).equals("");
  assertThat(textIsNull).equals("null"); // not null but the string "null"
}

关于java - 使用 JUnitParams 的 @FileParameters 时如何为参数赋予空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39373478/

相关文章:

java - 迭代器和常规 for 循环

java - ServletRequest过滤器测试用例

java - 如何在 JUnitParams 参数提供程序中使用 Mockito stub ?

java - 我们如何使用java程序找到系统驱动器(如C、D等)中的jdk路径?

java - Streams API 出现奇怪的死锁

java - 有什么方法可以抑制 stringTemplate 中属性 a 未定义错误吗?

java - 如何表示参数值在 JUnit 测试中无关紧要?

java - 在 GAE 上使用 Siena 时如何编写单元测试

java - Junit 中的参数化

java - 使用不同数据集的参数化 android 测试