我有一个组件设置,它本质上是一个应用程序的启动程序:
@Component
public class MyLauncher {
@Autowired
MyService myService;
//other methods
}
MyService 使用 @Service
Spring 注释进行注释,并且自动连接到我的启动器类中,没有任何问题。
我想为 MyLauncher 编写一些 jUnit 测试用例,为此我启动了一个类:
public class MyLauncherTest
private MyLauncher myLauncher = new MyLauncher();
@Test
public void someTest() {
}
}
我可以为 MyService 创建一个 Mock 对象并将其注入到测试类中的 myLauncher 中吗?我目前在 myLauncher 中没有 getter 或 setter,因为 Spring 正在处理自动装配。如果可能的话,我希望不必添加 getter 和 setter。我是否可以告诉测试用例使用 @Before
init 方法将模拟对象注入到自动连接的变量中?
如果我的想法完全错了,你可以这么说。我还是个新手。我的主要目标是只有一些 Java 代码或注释,它们将模拟对象放入 @Autowired
变量中,而不必编写 setter 方法或使用 applicationContext-test.xml
文件。我更愿意为 .java
文件中的测试用例维护所有内容,而不是仅仅为我的测试维护一个单独的应用程序内容。
我希望对模拟对象使用 莫基托。在过去,我通过使用 org.mockito.Mockito
和使用 Mockito.mock(MyClass.class)
创建我的对象来实现这一点。