在 jmockit 单元测试中设置系统属性

德鲁13

使用 testng 和 jmockit 的组合进行一些单元测试。在我正在测试的方法中,它尝试访问我使用 JBoss 部署脚本设置的系统属性,因此我的单元测试无法访问整个 JBoss 环境来访问这些属性,因此在测试该方法时它返回 null . 尝试在我的测试中直接模拟和设置系统变量,但系统属性在我正在测试的类中仍然返回 null。

正在测试的类:

//returns the correct value in the application but returns null for the test
public static final String webdavrootDir = System.getProperty("property.name");

public String getFileUrl(){
       StringBuilder sb = new StringBuilder();
       return sb.append(webdavrootDir)
               .append(intervalDir)
               .append(fileName)
               .toString();
}

考试:

@Test
    public void getUrl(@Mocked System system){
        system.setProperty("property.name", "https://justatest.com/dav/bulk");
        String fileUrl = csvConfig.getFileUrl();

        assertEquals(fileUrl, "https://justatest.com/dav/bulk/otherstuff");
}

测试找到值null/otherstuff但期望https://justatest.com/dav/bulk/otherstuff

我还尝试在 testng@BeforeMethod方法中设置系统属性,但没有成功。

亨德里克夫

确保System.setProperty("property.name", "https://justatest.com/dav/bulk");在被测试的类被实例化之前调用,否则静态字段将始终为空。

考虑@BeforeClass为此使用设置方法:

@BeforeClass
public void setup() {
    System.setProperty("property.name", "https://justatest.com/dav/bulk");
    // Instantiate your CsvConfig instance here if applicable.
}

然后

@Test
public void getUrl(){
    System.setProperty("property.name", "https://justatest.com/dav/bulk");
    String fileUrl = csvConfig.getFileUrl();
    assertEquals(fileUrl, "https://justatest.com/dav/bulk/otherstuff");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JMockit挂在单元测试中

来自分类Dev

功能测试中的JMockit + Jetty

来自分类Dev

配置NetBeans以JMockit作为javaagent执行单个单元测试

来自分类Dev

JMockit:Singleton类,测试顺序

来自分类Dev

JMockit - 要测试的类的实例为空

来自分类Dev

如何使用JMockIt对Log4j进行单元测试?

来自分类Dev

使用Guice和JMockit进行单元测试拦截器

来自分类Dev

如何使用JMockIt对Log4j进行单元测试?

来自分类Dev

使用JMockIt模拟简单的属性访问

来自分类Dev

使用JMockIt模拟简单的属性访问

来自分类Dev

在JMockit中验证私有方法

来自分类Dev

在JMockit NonStrictExpectations中检查“任何”参数

来自分类Dev

如何在单元测试时使用jmockit将空字符串传递给私有方法?

来自分类Dev

JMockit MockUp在Spock测试之间持续存在

来自分类Dev

使用JMockit模拟正在测试的类的私有方法

来自分类Dev

使用带有JUnit4的JMockit测试Spring JDBC

来自分类Dev

如何使用Spring自动装配概括JMockit测试

来自分类Dev

JMockit:使用@Tested批注时如何调试测试?

来自分类Dev

JMockit模拟java.net.URL导致测试无法运行

来自分类Dev

调试使用Spock和JMockit测试的Java代码

来自分类Dev

JMockit中的Collection部分中的每个元素的部分模拟

来自分类Dev

我如何期望和验证JMockit中的相同方法

来自分类Dev

java代理如何模拟静态调用(如jmockit中)?

来自分类Dev

在Groovy中设置系统属性

来自分类Dev

如何在JMockit中测试以下代码的构造函数调用

来自分类Dev

JMockit + Guice:@Tested和Guice可以在同一测试类中混合吗?

来自分类Dev

JMockit测试类继承:在父类中声明时未注入模拟字段

来自分类Dev

JMockit-测试中的部分模拟类的代码覆盖率

来自分类Dev

使用反射在单元测试中设置属性

Related 相关文章

  1. 1

    JMockit挂在单元测试中

  2. 2

    功能测试中的JMockit + Jetty

  3. 3

    配置NetBeans以JMockit作为javaagent执行单个单元测试

  4. 4

    JMockit:Singleton类,测试顺序

  5. 5

    JMockit - 要测试的类的实例为空

  6. 6

    如何使用JMockIt对Log4j进行单元测试?

  7. 7

    使用Guice和JMockit进行单元测试拦截器

  8. 8

    如何使用JMockIt对Log4j进行单元测试?

  9. 9

    使用JMockIt模拟简单的属性访问

  10. 10

    使用JMockIt模拟简单的属性访问

  11. 11

    在JMockit中验证私有方法

  12. 12

    在JMockit NonStrictExpectations中检查“任何”参数

  13. 13

    如何在单元测试时使用jmockit将空字符串传递给私有方法?

  14. 14

    JMockit MockUp在Spock测试之间持续存在

  15. 15

    使用JMockit模拟正在测试的类的私有方法

  16. 16

    使用带有JUnit4的JMockit测试Spring JDBC

  17. 17

    如何使用Spring自动装配概括JMockit测试

  18. 18

    JMockit:使用@Tested批注时如何调试测试?

  19. 19

    JMockit模拟java.net.URL导致测试无法运行

  20. 20

    调试使用Spock和JMockit测试的Java代码

  21. 21

    JMockit中的Collection部分中的每个元素的部分模拟

  22. 22

    我如何期望和验证JMockit中的相同方法

  23. 23

    java代理如何模拟静态调用(如jmockit中)?

  24. 24

    在Groovy中设置系统属性

  25. 25

    如何在JMockit中测试以下代码的构造函数调用

  26. 26

    JMockit + Guice:@Tested和Guice可以在同一测试类中混合吗?

  27. 27

    JMockit测试类继承:在父类中声明时未注入模拟字段

  28. 28

    JMockit-测试中的部分模拟类的代码覆盖率

  29. 29

    使用反射在单元测试中设置属性

热门标签

归档