【发布时间】:2015-03-19 19:13:06
【问题描述】:
我正在使用 spring 框架编写一些集成测试。对于不同的集成测试类,我有不同的 SQL 脚本。像这样的:
@ContextConfiguration(classes = ...)
@Sql("classpath:sportCenter-test.sql")
public class SportCenterResourceIT {
...
}
除了 SQL 脚本在 每个 测试之前执行,而不是每个类一次执行之外,一切都运行良好。我已经搜索了一段时间的 spring 文档,但我找不到与此类选项相关的内容。
谁能给我一个提示?
【问题讨论】:
-
你的测试中有Before标签吗?
-
请与测试方法共享您的 SportCenterResourceIT 类,不需要它们确实是什么,但我也想检查在测试方法之前是否有任何 @Sql 标记。
-
@erhun 我的测试中没有其他
@Sql标签。唯一的一个是班级级别的。 -
您希望为您的测试加载的
ApplicationContext执行一次SQL 脚本吗?还是您真的希望您的 SQL 脚本在测试类之前只执行一次? -
我已经解决了这个问题,方法是使用脚本(在类级别)清除所有数据库条目。见spring documentation。
标签: spring spring-mvc spring-test