Grails 3 Никаких тестов для данного не включено: [* .controlerName] - PullRequest
0 голосов
/ 10 февраля 2020

Я работал над учебником Grails на https://guides.grails.org/creating-your-first-grails-app/guide/index.html. Я использую Grails 3.3.9, Groovy 2.4.15 и IntelliJ Idea 2019 2.2

Я дошел до раздела тестирования (раздел 9), когда столкнулся с этой странной проблемой. Тест-заглушка, создаваемый автоматически после каждой команды Grails create-~, выглядит следующим образом:

package org.grails.guides

import grails.testing.web.controllers.ControllerUnitTest import spock.lang.Specification

class MakeControllerSpe c extends Спецификация реализует ControllerUnitTest {

def setup() {
}

def cleanup() {
}

void "test something"() {
    expect:"fix me"
        true == false
} }

При выполнении с помощью команды:

. / grailsw test-app * .MakeControllerSpe c

Естественно происходит сбой со следующим выводом:

Не удалось выполнить задачу ': test'.

Были неудачные тесты. См. Отчет по адресу: file: /// C: /Users/Joe/Desktop/Groovy/grails-practice/myApp/build/reports/tests/test/index.html

Это все хорошо и как и ожидалось. Естественно, когда открывается файл index. html, отображаются результаты теста с подробной информацией о неудачном тесте. Но когда я изменяю раздел «Утверждение» теста на:

true == true

Затем запускаю тест, вывод:

FAILURE: сборка завершилась неудачей с исключением.

  • Что пошло не так: не удалось выполнить задачу ':grationTest'.

    Не найдено ни одного теста для данного объекта: [* .MakeControllerSpec]

Вывод на терминал (и IntelliJ, и git bash были используется) заявляет, что тесты не были найдены. Но когда я открываю файл index. html и просматриваю результаты теста, я вижу, что тест фактически был выполнен и что он прошел. После экспериментов кажется, что любые проходящие тесты отображают сообщение «Тесты не найдены ...», но неудачные тесты - нет. Похоже, что это проблема с журналированием, а не с самим тестом.

...