如何读取-Dserver.ref VM参数

时间:2012-08-13 13:46:24

标签: java tomcat junit mockito

Tomcat以vm参数启动:-Dserver.ref=test。此参数的值确定应用程序要读取的属性文件类型。单元测试还取决于此属性的值,并且需要匹配Tomcat中设置的内容。

我想我只需要在单元测试中自己设置这个属性?我认为没有机制来检查Tomcat中值-Dserver.ref是什么?

1

2 个答案:

答案 0 :(得分:3)

您应该将读取系统属性的代码放在单独的类中,例如实现接口SystemPropertyReader的RealSystemPropertyReader。该类的默认实现将使用System.getProperty()读取该属性。您的类MockSystemPropertyReader的模拟版本将用于单元测试,并将返回您告诉它返回的任何内容。

答案 1 :(得分:2)

这应该有效:

final String ref = System.getProperty("server.ref");

ref应该等于"test"