основой How to specify @category in test task in gradle?Gradle JUnit категория дополнительное testtask с различными категориями
Я хочу иметь 2 разные задачи тестирования:
test
для быстрых тестовtestLongRunning
для быстрого и медленных испытаний.
Я успешно изменил Buildin задачу test
таким образом, что -s «SlowTest» являются onmitted:
org.namespace.some.MySlowTestClass#someReallyLongRunningTest
не выполняется по желанию при выполнении задания «тест»
Мой вопрос: Можно ли добавить дополнительную задачу градиента «testLongRunning», которая выполняет все тесты (в том числе org.namespace.some.MySlowTestClass#someReallyLongRunningTest
), в то время как задача «испытание» градации не выдает медленную?
Мой рабочий пример РВП скачет SlowTest
выглядит следующим образом:
// subproject/build.gradle
apply plugin: 'java'
dependencies {
testCompile 'junit:junit:4.11'
}
test {
useJUnit {
excludeCategories 'org.junit.SlowTest' // userdefined interface in "subproject/src/test/java/org/junit/SlowTest.java"
}
}
// subproject/src/test/java/org/junit/SlowTest.java
package org.junit;
// @Category see https://stackoverflow.com/questions/38872369/cannot-include-exclude-junit-tests-classes-by-category-using-gradle
public interface SlowTest {
/* category marker for junit
via @Category(org.junit.SlowTest.class) */
}
// subproject/src/test/org/namespace/some/MySlowTestClass.java
package org.namespace.some;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.experimental.categories.*;
public class MySlowTestClass {
// @Category see https://stackoverflow.com/questions/38872369/cannot-include-exclude-junit-tests-classes-by-category-using-gradle
@Category(org.junit.SlowTest.class)
@Test
public void someReallyLongRunningTest(){
}
}
, что я пробовал:
, когда я добавить это подпроекта/build.gradle
// this is line 65
task testLongRunning (type: test){
dependsOn test
useJUnit {
includeCategories 'org.junit.SlowTest'
}
}
я получаю эту ошибку
FAILURE: Build failed with an exception. * Where: Build file '...\subproject\build.gradle' line: 66 * What went wrong: A problem occurred evaluating project ':subproject'. > org.gradle.api.tasks.testing.Test_Decorated cannot be cast to java.lang.Class