我已经开始使用grails-datastore-gorm-mongodb中的新模拟支持。我的应用默认使用域映射,在将关系持久化到mongodb时使用引用。我需要找到一种方法让被嘲笑的mongo做同样的事情。如何在单元测试中应用相同的默认映射?
在Config.groovy中,它看起来像这样:
// configure mongo to use dbrefs:
grails.mongo.default.mapping = {
'*'(reference: true)
}下面是我目前使用的代码示例:
import spock.lang.*
import grails.test.mixin.mongodb.MongoDbTestMixin
import com.github.fakemongo.Fongo
@Mixin([MongoDbTestMixin])
class MySpec extends Specification {
def setup() {
mongoDomain(new Fongo("test").mongo, [ MyDomain ])
new MyDomain(name: 'domain').save(validate: false, flush: true)
}
}如何将配置应用于此测试代码?
我使用的是Grails 2.3.9和mongodb 3.0.1插件。
发布于 2014-06-23 17:07:23
看起来MongoDbTestMixin提供了几种风格的mongoDomain方法:
mongoDomain(Mongo mongo, Collection<Class> persistentClasses) -为给定的MongoDB实例和域classesmongoDomain(Map config, Collection<Class> persistentClasses)设置MongoDB域的GORM -为给定的配置和域类设置MongoDB域的GORM
第二个选项允许传递一个配置映射,该映射允许将mongo配置为使用dbrefs (否则将使用空配置,请参阅MongoDbDataStoreSpringInitializer )。但是,此方法不允许传递Fongo实例。
您可以尝试:
https://stackoverflow.com/questions/24334269
复制相似问题