Я новичок в модульном тестировании.Mocking class, Java
Я хочу проверить 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){}
}
Не могли бы вы быстро объяснить мне, как издеваться отчет - это сложный класс, и я хочу, чтобы сохранить исходный код из метода GetDataFromSQL.
Возможно, мне нужно что-то сделать с Tomcat?
Я хочу протестировать MyClass, а не Report (не мой класс) – liquide
@liquide Затем выложите отчет с помощью любой из насмешливых библиотек, таких как Mockito, EasyMock и т. Д. Вы специально заявили, что хотите * сохранить * сложный код " в 'GetDataFromSQL', который трудно интерпретировать без дополнительной информации. –
@DaveNewton - Я думаю, что это «статический» метод. Это немного усложняет ситуацию, вы можете использовать power mock для настройки возвращаемых значений, а затем «воспроизводить» их, но обычное издевательство не поможет. –