我想对一个类进行单元测试Class A,但它依赖于另一个使用user session方法的类。我要测试的方法不涉及user session。我可以制作辅助方法Class A来复制Class B我需要的方法的行为吗?
我知道这不是很清楚,让我们挖掘一些代码以获得清晰的理解......
public void testDetails() throws Exception
{
//Some logic that generates DetailsTOList
saveDetailsHelper(DetailsTOList);
int detailsSize = getDetailsSize();
assertNotNull(detailsSize);
}
现在getDetailsSize()从数据库中获取尺寸信息。Class B有这个方法,但是我不能创建一个对象Class B并测试这个方法,因为Class B从用户那里获取会话信息,我可以从 JUnit 类中设置会话信息。
我创建saveDetailsHelper了复制方法行为的方法,并在如上所示Class B - saveDetails()的方法中调用它。testDetails()
我的问题:
- 我们可以有辅助方法
junit class吗? - 处理这种情况的最佳方法是什么?