Как запустить фильтрацию тестов в Gradle? - PullRequest
0 голосов
/ 25 октября 2019

Я должен выполнить тесты в определенном порядке, используя файл build.gradle. У меня файл build.gradle выглядит следующим образом:

test {
    include 'com.my-project.MyTestClass'
    include 'com.my-project.MyTestClass1'
}

, но когда я запускаю тестовое задание, у меня появляется следующее сообщение:

Tests event were not received

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 25 октября 2019

Это сообщение просто означает, что тесты на самом деле не выполнялись. Причин для этого может быть несколько, но наиболее вероятным в данном примере является то, что метод include принимает шаблон файла в стиле Ant, но вы дали ему (полностью определенные) имена классов. Кроме того, «my-project» не является допустимым именем пакета, но я предполагаю, что это просто ошибка в вашем примере здесь.

Но что более важно, если вы намереваетесь запускать тесты в определенном порядке, выне достигнет этого с помощью одной тестовой задачи. Указанный includes просто сообщает Gradle, какие тесты входят в комплект, но не влияет на порядок.

Я не знаю, какую среду тестирования вы используете, но я также не думаю, что этовозможно с JUnit 4 и 5. Единственный способ, о котором я могу подумать, - это создать несколько задач Test в Gradle, где каждая задача представляет собой отдельный модульный тест (или группу тестов, которые можно запустить в любом порядке) и где вы заказываетекаждая задача через dependsOn. Вот как то так:

task myTest1(type: Test) {
    include 'example/MyTestClass1.class'
}

task myTest2(type: Test) {
    dependsOn myTest1
    include 'example/MyTestClass2.class'
}

test {
    exclude 'example/**'
    dependsOn myTest2
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...