gpt4 book ai didi

java - 模拟类,Java

转载 作者:行者123 更新时间:2023-11-28 22:42:57 24 4
gpt4 key购买 nike

我是单元测试的初学者。

我想测试 MyClass。在 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){}
}

您能否快速向我解释一下如何模拟 Report - 这是一个复杂的类,我想保留 GetDataFromSQL 方法中的原始代码。

或者我可能需要对 Tomcat 做些什么?

最佳答案

将非网络工件绑定(bind)到网络层是个坏主意。

您的报告根本不应该知道 servlet 上下文。

模拟 EnvironmentWrapper#getServletContext() 以返回可用的东西和/或模拟 ServletContext 以提供您需要的东西。

关于java - 模拟类,Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21119650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com