gpt4 book ai didi

java - 当配置影响方法结果时进行适当的测试?

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:51 26 4
gpt4 key购买 nike

我已经开始编写一个类,用于检查向数据库写入和更新对象的权限。对于开发和测试,可以通过播放配置值禁用权限检查。我的第一个想法是在启用权限检查的情况下编写测试。如果在测试运行时禁用检查,我只需通过

禁用测试
    org.junit.Assume.assumeTrue(false);

当然,这意味着在开发中,当禁用权限检查时,测试可能永远不会运行。

在每个测试中使用两个代码路径(一个用于启用配置,一个用于禁用配置)是否更合适?

此外,现在是时候引入一个可以通过静态方法替换随意注入(inject)配置值的模拟框架了吗?当谷歌搜索时,我偶然发现了https://blog.codecentric.de/en/2011/11/testing-and-mocking-of-static-methods-in-java/建议使用 PowerMock 来完成这项工作。

另一种方法是为播放配置值创建一个静态包装类,并允许随意更改其中的值。

哪种方式更好?

  1. 使配置在运行时可配置
  2. 使用模拟框架随意更改(静态)方法

最佳答案

我投票给#1 - 使配置可配置。我在我的一个应用程序中编写了一个“框架”(父类(super class)中的两个方法),以允许测试说出它希望测试的安全角色是什么(并将其放回最后)。这让测试可以选择在独立于所有其他条件的情况下运行哪个角色。

我也对其他类型的配置使用了相同的方法。

关于java - 当配置影响方法结果时进行适当的测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23672149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com