Использование Grails 2.2.0 дал этот простой областиКак избежать ошибок нулевых полей в Спока домена Grails издеваться
class Order {
static mapping = {table "ticket_order"}
String foo
}
и связанные с ним тест Спока
@TestFor(Order)
class OrderSpec extends Specification {
def "sensible constraints for order class"() {
setup:
mockForConstraintsTests(Order)
when:
def order = new Order(
foo : foo
)
order.validate()
then:
!order.errors.hasFieldErrors("foo")
where:
foo = "bar"
}
}
я получаю этот выход
grails> test-app unit: Order -echoOut
| Running 1 spock test... 1 of 1
--Output from sensible constraints for order class--
| Failure: sensible constraints for order class(uk.co.seoss.presscm.OrderSpec)
| Condition not satisfied:
!order.errors.hasFieldErrors("foo")
|| | |
|| | true
|| org.codehaus.groovy.grails.plugins.testing.GrailsMockErrors: 1 errors
|| Field error in object 'uk.co.seoss.presscm.Order' on field 'foo': rejected value [null];
Может кто-нибудь объяснить, почему я получаю этот нуль, не правильно ли я установил свойство? Я попробовал несколько простых формулировок этого без радости. Он отлично работает в стандартном модульном тесте.
Вы пробовали использовать простой тест JUnit? Мое лучшее предположение заключается в том, что проблема не связана с Споком. –