首页 > 解决方案 > 将配置解析为 Junit5 测试

问题描述

我的测试需要从文件中提取数据。我想将文件的位置与其他一些参数一起传递给 Junit 测试。

这可以通过命令行参数来完成吗?如果没有,推荐的方法是什么?创建配置文件或环境变量?

标签: javajunitjunit5

解决方案


不建议使用 junit 从配置中读取变量并将它们用于测试,因为这样测试不再基于代码,而是部分基于您的配置。

您应该对变量进行硬编码。我的一个项目中的一个例子:

  @Test
  public void testIfEmailValidatorReturnsCorrectValue() {
    Validators validator = Validators.getInstance();
    Assert.assertFalse(validator.isMail(""));
    Assert.assertFalse(validator.isMail("test"));
    Assert.assertFalse(validator.isMail("test@mail"));
    Assert.assertFalse(validator.isMail("test@mail:de"));
    Assert.assertFalse(validator.isMail("test@test@mail.de"));
    Assert.assertFalse(validator.isMail("testmail.de"));
    Assert.assertFalse(validator.isMail("test@mail.d$e"));
    Assert.assertTrue(validator.isMail("test@mail.de"));
    Assert.assertTrue(validator.isMail("testASD01@Ma1l.com"));
    Assert.assertTrue(validator.isMail("testASD01@sub.Ma1l.com"));
  }

推荐阅读