我正在构建一个Spring应用程序,它与MongoDB一起使用Spring数据存储库。我正在尝试创建一个Spock functional来测试我的存储库,但我无法找到合适的方法来初始化Mongo以准备测试。到目前为止,我已经尝试了以下几点:
下面是我删除数据库时所做的事情:
@ContextConfiguration(classes = MyApp, loader = SpringApplicationContextLoader)
@ActiveProfiles('test')
class UserRepositoryTest extends Specification {
@Shared
boolean mongoReset = false
@Autowired
MongoTemplate mongoTemplate
@Autowired
UserRepository userRepository
void setup() {
if (!mongoReset) {
mongoTemplate.getDb().dropDatabase()
mongoReset = true
}
}
}
理想情况下,我希望能够使用与JPA存储库提供的data.sql方法类似的东西。
发布于 2014-12-07 07:02:53
我们通常建议使用存储库清除数据库(即调用userRepository.deleteAll()
)。删除数据库的缺点是删除在上下文引导期间可能创建的所有索引。
https://stackoverflow.com/questions/27306714
复制