我有一个简单的Grails服务:
int
通过简单的单元测试:
@Transactional
class SearchService {
def doSomething() {
10
}
}
当我运行测试时,我得到以下异常:
任何人都知道这意味着什么?
奇怪的是,如果我将class SearchServiceSpec extends Specification implements ServiceUnitTest<SearchService>{
def setup() {
}
def cleanup() {
}
void "test something"() {
expect:
service.doSomething() == 10
}
}
更改为doSomething
,然后执行getSomething
,则会有效。
我有以下版本: | Grails版本:3.3.0 | Groovy版本:2.4.11 | JVM版本:1.8.0_60
答案 0 :(得分:5)
这是因为getter方法没有应用事务行为。要测试事务方法,您需要设置GORM实现。测试的最简单方法是实现grails.testing.gorm.DataTest
。