我有一个类,它接收一个文件,找到与之相关的文件,然后打开它。类似的东西
class DummyFileClass
{
private File fileOne;
private File fileTwo;
public DummyFileClass(File fileOne)
{
this.fileOne = fileOne;
fileTwo = findRelatedFile(fileOne)
}
public void someMethod()
{
// Do something with files one and two
}
}
在我的单元测试中,我希望能够测试 someMethod() 而不必将物理文件放在某个地方。我可以模拟 fileOne,并将其传递给构造函数,但由于在构造函数中计算 fileTwo,我无法控制它。
我可以模拟 findRelatedFile() 方法——但这是最佳实践吗?在这里寻找最佳设计而不是实用的解决方法。我对模拟框架相当陌生。