diff options
Diffstat (limited to 'src/test/java')
5 files changed, 27 insertions, 6 deletions
diff --git a/src/test/java/junitparams/FilterableTest.java b/src/test/java/junitparams/FilterableTest.java index 05b2b4c..97e1ea4 100644 --- a/src/test/java/junitparams/FilterableTest.java +++ b/src/test/java/junitparams/FilterableTest.java @@ -6,6 +6,7 @@ import org.junit.runner.JUnitCore; import org.junit.runner.Request; import org.junit.runner.Result; import org.junit.runner.manipulation.Filter; +import org.junit.runner.manipulation.NoTestsRemainException; import static org.assertj.core.api.Assertions.*; @@ -58,6 +59,20 @@ public class FilterableTest { assertThat(description.getChildren().get(0).getChildren()).hasSize(2); } + @Test + public void shouldApplyFiltersCumulatively() throws Exception { + JUnitParamsRunner runner = new JUnitParamsRunner(SampleTestCase.class); + // Remove the first method. + new SingleMethodFilter("firstTestMethod").apply(runner); + try { + // Now remove all instances of the second method. + new SingleMethodFilter("secondTestMethod").apply(runner); + fail("Filtering did not apply cumulatively"); + } catch (NoTestsRemainException expected) { + // expected + } + } + private Request requestSingleMethodRun(Class<SampleTestCase> clazz, String methodName) { return Request.aClass(clazz).filterWith(new SingleMethodFilter(methodName)); } diff --git a/src/test/java/junitparams/ParametersReaderProvidersTest.java b/src/test/java/junitparams/ParametersReaderProvidersTest.java index c4a2bb8..8b4297f 100644 --- a/src/test/java/junitparams/ParametersReaderProvidersTest.java +++ b/src/test/java/junitparams/ParametersReaderProvidersTest.java @@ -1,6 +1,5 @@ package junitparams; -import junitparams.internal.ParameterisedTestMethodRunner; import junitparams.internal.TestMethod; import org.junit.Rule; import org.junit.Test; @@ -34,11 +33,11 @@ public class ParametersReaderProvidersTest { @Test public void shouldPutProviderClassNameInExceptionMessageForProviderWithNoValidMethods() { - ParameterisedTestMethodRunner runner = new ParameterisedTestMethodRunner(getTestMethodWithInvalidProvider()); + TestMethod testMethod = getTestMethodWithInvalidProvider(); exception.expect(RuntimeException.class); exception.expectMessage(ProviderClassWithNoValidMethods.class.getName()); - runner.method.parametersSets(); + testMethod.parametersSets(); } private TestMethod getTestMethodWithInvalidProvider() { diff --git a/src/test/java/junitparams/internal/TestMethodTest.java b/src/test/java/junitparams/internal/TestMethodTest.java index abfe5a3..62dc242 100644 --- a/src/test/java/junitparams/internal/TestMethodTest.java +++ b/src/test/java/junitparams/internal/TestMethodTest.java @@ -46,7 +46,7 @@ public class TestMethodTest { public void flatTestMethodStructure() throws Exception { System.setProperty("JUnitParams.flat", "true"); - Description description = plainTestMethod.describe(); + Description description = plainTestMethod.describableFrameworkMethod().getDescription(); assertEquals("for_others_to_work(junitparams.internal.TestMethodTest)", description.getDisplayName()); assertTrue(description.getChildren().isEmpty()); @@ -60,7 +60,7 @@ public class TestMethodTest { @Test public void hierarchicalTestMethodStructure() throws Exception { System.clearProperty("JUnitParams.flat"); - Description description = plainTestMethod.describe(); + Description description = plainTestMethod.describableFrameworkMethod().getDescription(); assertEquals("forOthersToWork", description.getDisplayName()); assertEquals("[0] a (forOthersToWork)(junitparams.internal.TestMethodTest)", description.getChildren().get(0).getDisplayName()); @@ -73,7 +73,7 @@ public class TestMethodTest { @Test public void hierarchicalArrayTestMethodStructure() throws Exception { System.clearProperty("JUnitParams.flat"); - Description description = arrayTestMethod.describe(); + Description description = arrayTestMethod.describableFrameworkMethod().getDescription(); assertEquals("forOthersToWorkWithArray", description.getDisplayName()); assertEquals("[0] a,b (forOthersToWorkWithArray)(junitparams.internal.TestMethodTest)", diff --git a/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java b/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java index 1e0ec24..effda7f 100644 --- a/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java +++ b/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java @@ -1,6 +1,7 @@ package junitparams.naming; import org.junit.AfterClass; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.Description; import org.junit.runner.Request; @@ -26,6 +27,9 @@ public class NamingStrategyIsUsedByRunnerTest { "[1] Well formed name of sampleMethod with param2" + className); } + // Android-changed: CTS and AndroidJUnitRunner rely on specific format to test names, changing + // them will prevent CTS and AndroidJUnitRunner from working properly; see b/36541809 + @Ignore @Test @Parameters({"param1", "param2"}) @TestCaseName("[{index}] Well formed name of {method} with {params}") diff --git a/src/test/java/junitparams/usage/person_example/PersonTest.java b/src/test/java/junitparams/usage/person_example/PersonTest.java index 927204e..b9f15c5 100644 --- a/src/test/java/junitparams/usage/person_example/PersonTest.java +++ b/src/test/java/junitparams/usage/person_example/PersonTest.java @@ -56,6 +56,9 @@ public class PersonTest { } } + // Android-changed: CTS and AndroidJUnitRunner rely on specific format to test names, changing + // them will prevent CTS and AndroidJUnitRunner from working properly; see b/36541809 + @Ignore @Test @Parameters(method = "adultValues") @TestCaseName("Is person with age {0} adult? It's {1} statement.") |