2013-09-15 3 views
3

Я играю с недавно выпущенными grails 2.3.0. К сожалению, тест-приложение не распознает тесты. Вот что я сделал, чтобы создать проблему.grails 2.3: тесты, не распознанные тестовым приложением

Во-первых, сделать новое приложение и создать контроллер:

$ grails create-app firstApp 
$ cd firstApp/ 
$ grails create-controller foo 

Я получил следующие файлы создания Foo контроллера:

| Created file grails-app/controllers/firstapp/FooController.groovy 
| Created file grails-app/views/foo 
| Created file test/unit/firstapp/FooControllerSpec.groovy 

Затем я редактировал файл FooControllerSpec.groovy, добавив assert 1 == 2 в автогенерированном методе void "test something"(). Вот полное содержание FooControllerSpec.groovy после моего редактирования:

package firstapp 

import grails.test.mixin.TestFor 
import spock.lang.Specification 

/** 
* See the API for {@link grails.test.mixin.web.ControllerUnitTestMixin} for usage instructions 
*/ 
@TestFor(FooController) 
class FooControllerSpec extends Specification { 

    def setup() { 
    } 

    def cleanup() { 
    } 

    void "test something"() { 
     assert 1 == 2 
    } 
} 

Тогда я побежал следующую команду:

$ grails test-app 

Однако никакие испытания не проводились. Вот выход из этой команды:

| Completed 0 unit test, 0 failed in 0m 0s 
| Tests PASSED - view reports in /Users/jianbao.tao/projects/grails/firstApp/target/test-reports 

Моя платформа OS X 10.8.5 + Grails 2.3.0 + Java 1.6.0_51 + заводной 2.1.6. Может ли кто-нибудь сказать мне, что здесь происходит, пожалуйста? Заранее спасибо.

ответ

8

Grails 2.3.0 поставляется с базой тестирования протектора по умолчанию. Таким образом, тест должен выглядеть следующим образом:

void "test something"() { 
    expect: 
     1 == 2 
} 

Для получения подробной информации о spockframework, посетите docs.

Смежные вопросы