IllegalStateException 运行 Grails 服务单元测试
IllegalStateException Running Grails Services Unit Tests
我有一个简单的 grails 服务:
@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
,然后执行 service.something
.
,它会起作用
我有以下版本:
| Grails 版本:3.3.0
| Groovy版本:2.4.11
| JVM 版本:1.8.0_60
这是因为 getter 方法没有应用事务行为。要测试事务方法,您需要有一个 GORM 实现设置。为您的测试做到这一点的最简单方法是实施 grails.testing.gorm.DataTest
.
我有一个简单的 grails 服务:
@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
,然后执行 service.something
.
我有以下版本: | Grails 版本:3.3.0 | Groovy版本:2.4.11 | JVM 版本:1.8.0_60
这是因为 getter 方法没有应用事务行为。要测试事务方法,您需要有一个 GORM 实现设置。为您的测试做到这一点的最简单方法是实施 grails.testing.gorm.DataTest
.