我在一个用 Java 编写的大型项目中介绍了 Groovy,开始(就像大多数人一样)在 Groovy 中为 Java 类编写单元测试。
所以我遇到的问题是:
想象一下,我有 2 个 Java 类,ClassA 和 ClassB,以这种方式交互:
public class ClassA {
public void doSomething(...) {
...//something
ClassB.invokeSomeStaticMethod((someParam);
...//something
}
}
ClassB 是从数据库中查找一些数据的服务。我正在测试 ClassA 功能。所以我想以某种方式模拟 ClassB,所以它在我的单元测试上下文中的 invokeSomeStaticMethod() 将返回模拟值以进行测试。据我了解,这里的主要问题是这两个类都是 Java,因此 ClassB.invoke... 方法不是通过 Groovy MOP 路由的,Groovy Mocks 是基于它的。我对吗?我怎样才能达到我所需要的?
谢谢!米哈伊尔