有一个@Sql
spring中的注释允许执行sql测试方法前后的代码:
@Test
@Sql("init.sql")
@Sql(scripts = "clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
public void someTest()
{
}
但是,我有几种测试方法,我想提供与上面的测试相同的干净环境,并且我不想对每个测试重复相同的操作@Sql
注解。如何一次性完成所有方法?例如:
// JPA and Spring other test annotations
@Sql("init.sql")
@Sql(scripts = "clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
public class TestClass
{
// init.sql executed before every test, clean.sql executed after every test
}
确实当你放置@Sql
on the class
, sql脚本将在该类中定义的每个测试之前和之后执行,更具体地说是在之前@Before
之后@After
方法。所以,
// JPA and Spring other test annotations
@Sql("init.sql")
@Sql(scripts = "clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
public class TestClass
{
// init.sql executed before every test, clean.sql executed after every test
}
将按照@Sql
定义:
@Target({ElementType.TYPE, ElementType.METHOD})
/// other annotations
public @interface Sql {
//
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)