在我的项目初始化参数servletContext,我在ServletContext的初始化配置数据,那么我就可以从内存中读取数据,并将其效果不错,但现在我写了一些JUnit测试,它无法初始化ServletContext中。你能告诉我该怎么办?如何在JUnit测试
4
A
回答
3
我认为你不需要在servletContext
中初始化配置数据,你可以使用一个静态变量来存储配置数据,当你启动服务器时,你可以初始化它。
要在测试环境中设置完整的WebApplicationContext
,您可以使用XmlWebApplicationContext
(或GenericWebApplicationContext
),传入适当的MockServletContext
实例。
您可能希望将MockServletContext
与FileSystemResourceLoader
配置在这种情况下,要使解释为相对文件系统位置的资源路径。
4
有一种方法来模拟servlet:How to mock servlet in spring mvc,但我认为你不需要在servletContext中初始化配置数据,你可以使用一个静态变量来存储配置数据,并且当你启动服务器时你可以初始化它。代码如下:
public class InitProperties {
private static Logger logger = Logger.getLogger(InitProperties.class);
public static Map<String, String> propertiesMap = new HashMap<String, String>();
public static void initProperties(){
String filePath = FilePathConstant.XXX_CONF;
Properties props = new Properties();
InputStream in = null;
try {
in = Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath);
props.load(in);
Set keySet = props.keySet();
for(Object o: keySet){
propertiesMap.put(o.toString(), props.getProperty(o.toString()).toString());
}
} catch (Exception e) {
logger.error("Read property value by key failed!", e);
} finally {
try {
in.close();
} catch (IOException e) {
logger.error("Close inputStream failed!", e);
}
}
}
}
你只需要调用方法InitProperties.initProperties()
当你启动服务器,然后就可以从InitProperties.propertiesMap
读取配置数据。
相关问题
- 1. 如何测试junit测试
- 2. 如何Junit测试servlet-filters
- 3. 如何编写JUnit测试?
- 4. 如何做jUnit测试
- 5. 如何打包JUnit测试
- 6. 如何JUnit测试IntentService
- 7. 如何测试junit语句?
- 8. JUnit如何找到测试?
- 9. 如何将JUnit 4测试添加到JUnit 3测试套件
- 10. NullpointException在JUnit测试
- 11. 在Spring JUnit测试
- 12. 如何在junit测试中跟踪值?
- 13. 如何在Java中测试异常Junit
- 14. 如何在SCons下运行JUnit测试?
- 15. 休眠 - 如何测试在JUnit
- 16. 如何在JUnit中测试void方法
- 17. 如何在Junit中测试集合(Java)
- 18. 如何从休眠在Spring JUnit测试
- 19. 我如何控制我这个JUnit测试类在JUnit测试运行
- 20. Maven.surefire.util.SurefireReflectionException当测试Junit测试
- 21. Hangman JUnit测试
- 22. spring junit测试
- 23. RxJava2 JUnit测试
- 24. 春JUnit测试
- 25. JUnit测试AspectJ
- 26. JUnit测试后
- 27. Java JUnit测试
- 28. FragmentActivity Junit测试
- 29. 的JUnit:测试
- 30. JUnit测试