我们可以模拟任何对象或类,但不能在Junit中



我们可以使用哪个模拟框架来模拟类或其对象。在实现junit测试用例时,我们通常使用mocking框架,但我怎么能不在任何测试用例类中而是在普通类中模拟类/其对象呢。

有可能这样做吗?

虽然mock框架通常只在测试代码中完成,但这不是必需的。你当然可以将你喜欢的Mock框架作为编译(而不是测试(依赖项导入,然后在任何src/main/java类中,你都可以用正常的方式构建Mock(例如@Mock等(。

我不知道你为什么要那样做。其中还有一个更有趣的问题。实现mock框架通过反射操作,有时通过字节码操作。这对生产质量代码提出了一些担忧,但现在主流源代码中已经有了它。根据你真正想要实现的目标,可能有更好的方法,例如去封装、AoP、存根等。

相关内容

最新更新