我有一个简单的grails服务:
@Transactional
class SearchService {
def doSomething() {
10
}
}
Run Code Online (Sandbox Code Playgroud)
通过简单的单元测试:
class SearchServiceSpec extends Specification implements ServiceUnitTest<SearchService>{
def setup() {
}
def cleanup() {
}
void "test something"() {
expect:
service.doSomething() == 10
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我得到以下异常:
谁知道这意味着什么?
奇怪的是,如果我改变工作doSomething到getSomething,然后做service.something.
我有以下版本:| Grails版本:3.3.0 | Groovy版本:2.4.11 | JVM版本:1.8.0_60
我将 grails 3.3.0 与 rest api 和 gson 视图一起使用。我有以下设置...
领域类
package foo
@Resource(uri="/api/bars", readOnly = false, formats = ['json', 'xml'])
class Bar{
String firstName
String lastName
}
Run Code Online (Sandbox Code Playgroud)
控制器:
package foo
class BarController extends RestfulController<Building>{
def show(){
respond Bar.get(params.id)
}
}
Run Code Online (Sandbox Code Playgroud)
_bar.gson:
import foo.Bar;
model {
Bar bar
}
json {
name bar.firstName
}
Run Code Online (Sandbox Code Playgroud)
_show.gson:
import foo.Bar;
model {
Bar bar
}
json g.render(template:"bar", model:[bar:bar])
Run Code Online (Sandbox Code Playgroud)
目录布局:
/grails-app/views/
-----------------bar/
--------------------_bar.gson
--------------------_show.gson
Run Code Online (Sandbox Code Playgroud)
这在build、和期间失败test,compile并war出现以下错误:
Execution failed …Run Code Online (Sandbox Code Playgroud) 关于将域类属性设置为可为空,如下所述:https : //docs.grails.org/3.3.10/ref/Constraints/nullable.html
有没有办法让“可空等于真”成为我所有 Grails 域类中所有属性的默认值?与 nullable 的默认值为 false 相反。
作为附加说明,grails.databinding.convertEmptyStringsToNull = false
我的application.yml文件中也有该属性
。
我在 Grails 3.3.10 上。