gpt4 book ai didi

Java注解——代码简化

转载 作者:行者123 更新时间:2023-11-28 20:01:43 26 4
gpt4 key购买 nike

我正在寻找一种方法来简化以下代码。

@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);
}
}

但它不起作用。有什么想法吗?

最佳答案

您可以将这些注解放在父类(super class)上:

@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {
// My configuration classes
})
public abstract class AbstractIntegrationTest { ... }

.

public class MyServiceTest extends AbstractIntegrationTest { ... }

这种方法还允许您在基类中声明常见的 @Autowired 依赖项,并在具体测试中自定义 @ContextConfiguration 类。

关于Java注解——代码简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24653804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com