java – 将一个junit侦听器添加到SpringJUnit4ClassRunner
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 将一个junit侦听器添加到SpringJUnit4ClassRunner,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1200字,纯文字阅读大概需要2分钟。
内容图文
![java – 将一个junit侦听器添加到SpringJUnit4ClassRunner](/upload/InfoBanner/zyjiaocheng/753/9221077cf5e0499f98ee6aa1afa93b7a.jpg)
我有一个使用SpringJUnit4ClassRunner运行的单元测试,如下所示:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:aConfig.xml")
public class TestService
{
@Resource
EmbeddedMysqlDatabase mysqlDB;
...
}
我有一个嵌入式数据库,用于单元测试,我想在运行所有测试后关闭.我知道在单元测试中嵌入数据库不是通常的/良好实践,但在这种特殊情况下,这是非常有用的.
@AfterClass不是一个选项,因为它必须是静态的,我的数据库实例是由spring注入的.静态成员不能注入.
我怎么能通过听众或任何其他方式做到这一点?
谢谢.
解决方法:
您可以使用@TestExecutionListeners.
像这样的东西:
public class ShutdownExecutionListener extends AbstractTestExecutionListener {
@Override
public void beforeTestClass(TestContext testContext) throwsException {
}
@Override
public void afterTestClass(TestContext testContext) throws Exception{
EmbeddedMysqlDatabase mysqlDB=
(EmbeddedMysqlDatabase)testContext.getApplicationContext().getBean(mysqlDB);
mysqlDB.shutdown();
}
}
在你的测试中:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:aConfig.xml")
@TestExecutionListeners(listeners = ShutdownExecutionListener.class)
public class TestService
{
@Resource
EmbeddedMysqlDatabase mysqlDB;
...
}
内容总结
以上是互联网集市为您收集整理的java – 将一个junit侦听器添加到SpringJUnit4ClassRunner全部内容,希望文章能够帮你解决java – 将一个junit侦听器添加到SpringJUnit4ClassRunner所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。