Java 当配置影响方法结果时是否进行适当的测试?

Java 当配置影响方法结果时是否进行适当的测试?,java,junit4,playframework-1.x,Java,Junit4,Playframework 1.x,我已经开始编写一个类,用于在向数据库写入和更新对象时进行权限检查。对于开发和测试,可以通过播放配置值禁用权限检查。我的第一步是在启用权限检查的情况下编写测试。如果在测试运行时禁用了检查,我只需通过 org.junit.Assume.assumeTrue(false); 当然,这意味着在开发中,当权限检查被禁用时,测试可能永远不会运行 在每个测试中使用两个代码路径是否更合适,一个用于启用配置,一个用于禁用配置 另外,现在是引入模拟框架的时候了吗?该框架通过静态方法替换随意注入配置值?在谷

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

    org.junit.Assume.assumeTrue(false);
当然,这意味着在开发中,当权限检查被禁用时,测试可能永远不会运行

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

另外,现在是引入模拟框架的时候了吗?该框架通过静态方法替换随意注入配置值?在谷歌上搜索时,我无意中发现了推荐PowerMock担任这项工作的建议

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

哪条路比较好

使配置在运行时可配置 使用模拟框架随意更改静态方法
我投1票-使配置可配置。在我的一个应用程序中,我在一个超类中编写了一个框架和两个方法,以允许测试说出它希望测试的安全角色是什么,并将其放回最后。这使得测试可以独立于所有其他条件选择要在哪个角色下运行

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