【发布时间】:2014-07-09 12:31:57
【问题描述】:
我正在寻找一种方法来简化以下代码。
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {
// My configuration classes
})
public class MyServiceTest {
@Autowired
private MyService service;
@Test
public void myTest() {
Assert.assertTrue(service != null);
}
}
我有很多配置类,我不想把它们放到每个测试类中。所以我有了创建自己的注释的想法:
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {
// My configuration classes
})
public @interface IntegrationTests {
}
我尝试通过以下方式使用它:
@IntegrationTests
public class MyServiceTest {
@Autowired
private MyService service;
@Test
public void myTest() {
Assert.assertTrue(service != null);
}
}
但它不起作用。有什么想法吗?
【问题讨论】:
-
@Autowired表示春天,对吗? -
@Thomas:是的,我使用 Spring。
-
您是否尝试按照docs on spring's custom annotations 的指示添加
@Target和@Retention? -
@Thomas:不,我没有,但我尝试使用 axtavt 的解决方案并且效果很好。所以,问题就解决了。感谢您的回复。
标签: java spring testing annotations spring-test