tomcat模拟类,Java
我是单元测试的初学者
我想测试我的班级。应用程序在Apache Tomcat上运行
课程:
MyClass extends Report {
public MyClass() {
super(); //exception in JUnit
}
public void doSomething() {
GetDataFromSQL(params); // I want to test this
}
}
Report {
public Report(){
//this throws null pointer exception in my JUnit tests:
ServletContext sc = EnviromentWrapper.getServletContext();
}
//necessary method for MyClass. This method uses also other methods in this class.
public AnyData GetDataFromSQL(params){}
}
你们能不能快速解释一下,如何模拟报表?这是一个复杂的类,我想保留GetDataFromSQL方法的原始代码
或者我可以和Tomcat做点什么吗
# 1 楼答案
将非web工件绑定到web层是个坏主意
您的报告根本不应该知道servlet上下文
Mock
EnvironmentWrapper#getServletContext()
返回可用的内容和/或MockServletContext
提供所需内容