我正在测试一个类,比如用 JUnit 说 MyClass。我正在使用 easymock 来隔离对 db 的需求。它工作正常。因此,如果有对模型对象的调用,我只是模拟该对象。例如,如果我有
public void method(Project project) { project.getName(); ..}
在 MyClass 中,我只使用 mockedProject。然后我说 MyClass.method(mockedProject); 但是如果我在 MyClass 中有 this.getName() 怎么办。在这种情况下,由于我想要我正在测试的类(MyClass)的真实对象,我无法模拟 MyClass 对象。所以我不能为 MyClass 对象定义返回值,因为它是一个真实的对象。请记住 getName() 会抛出我不希望它离开的数据库。
当我有 this.method() 并且该方法与 db 一起使用时,在这种情况下我应该怎么做。我无法模拟我正在测试的这个对象。谢谢。