Tomcat 以 vm 参数启动:-Dserver.ref=test
. 此参数的值确定应用程序要读取的属性文件类型。单元测试也依赖于这个属性的值,并且需要匹配 Tomcat 中设置的值。
我想我只需要在单元测试中自己设置这个属性?我认为没有一种机制可以检查-Dserver.ref
Tomcat 中的值是什么?
您应该将读取系统属性的代码放在一个单独的类中,例如实现接口 SystemPropertyReader 的 RealSystemPropertyReader。该类的默认实现将使用 System.getProperty() 读取属性。您的类 MockSystemPropertyReader 的模拟版本将用于单元测试,并将返回您告诉它返回的任何内容。
这应该有效:
final String ref = System.getProperty("server.ref");
ref
应该等于"test"
。