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