我有以下测试类:
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = TestClass.Config.class)
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
public class TestClass {
@Autowired
private MyClass myClass;
@Test
public void test1() {
myClass.run(); // this is mock
}
@Test
public void test2() {
myClass.run(); // Need real context
}
@Configuration
static class Config {
@Bean
MyClass myClass() {
return mock(MyClass.class);
}
}
}
如何在不同的测试方法中将测试上下文替换为真实上下文?
最佳答案
这是另一层测试。根据经验,将它们分开。 您应该创建具有真实上下文的单独测试类。它应该命名为 TestClassIntegrationTest(例如)。真实的上下文测试可能非常慢,同时它们应该作为提交前的最后一次检查运行。
关于java - 如何在一个类中为不同的测试获取不同的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57888531/