It should be looking in the class path, not the file system. On Oct 18, 2013, at 12:42 PM, Dan Kaplan <d...@mirthcorp.com> wrote:
> I tried using that, but it "didn't work". Probably because "includes" > still looks on the file system? > > > On Thu, Oct 17, 2013 at 11:10 PM, Andreas Gudian > <andreas.gud...@gmail.com>wrote: > >> Check the "dependenciesToScan" property in the latest Failsafe version. It >> tells the plugin to scan for the test class patterns in the specified >> artifacts. >> >> >> Am Freitag, 18. Oktober 2013 schrieb Dan Kaplan : >> >>> I've found an "ok" solution. I just extend the class in the module I >> plan >>> to run the tests in and include the child. It works the way I want. >>> >>> >>> On Thu, Oct 17, 2013 at 4:58 PM, Dan Kaplan <d...@mirthcorp.com> wrote: >>> >>>> RunWith: >>>> >>>> * When a class is annotated with <code>@RunWith</code> or >> extends a >>>> class annotated >>>> * with <code>@RunWith</code>, JUnit will invoke the class it >>>> references to run the >>>> * tests in that class instead of the runner built into JUnit. We added >>>> this feature late >>>> * in development. While it seems powerful we expect the runner API to >>>> change as we learn >>>> * how people really use it. Some of the classes that are currently >>>> internal will likely >>>> * be refined and become public. >>>> * >>>> * For example, suites in JUnit 4 are built using RunWith, and a custom >>>> runner named Suite >>>> >>>> AllTests: >>>> >>>> Runner for use with JUnit 3.8.x-style AllTests classes >>>> * (those that only implement a static <code>suite()</code> >>>> * method). For example: >>>> * <pre> >>>> * @RunWith(AllTests.class) >>>> * public class ProductTests { >>>> * public static junit.framework.Test suite() { >>>> * ... >>>> * } >>>> * } >>>> >>>> So this class will use AllTests as a runner. All tests will call the >>>> suite() method on this class. The suite() method collects integration >>>> tests from the classpath and runs them. I'm sorry I'm not answering >>>> directly, but I can't because I don't know what terminology to use. >> I'll >>>> show you some of the code: >>>> >>>> @RunWith(AllTests.class) >>>> public class DistributedIntegrationTestRunner { >>>> >>>> private static Logger log = >>>> LoggerFactory.getLogger(DistributedIntegrationTestRunner.class); >>>> >>>> public static TestSuite suite() { >>>> TestSuite suite = new TestSuite(); >>>> >>>> ClassesFinder classesFinder = new >>>> ClasspathFinderFactory().create(true, >>>> new String[]{".*IntegrationTest.*"}, >>>> new SuiteType[]{SuiteType.TEST_CLASSES}, >>>> new Class[]{Object.class}, >>>> new Class[]{}, >>>> "java.class.path"); >>>> >>>> int nodeNumber = systemPropertyInteger("node.number", "0"); >>>> int totalNodes = systemPropertyInteger("total.nodes", "1"); >>>> >>>> List<Class<?>> allTestsSorted = >> getAllTestsSorted(classesFinder); >>>> allTestsSorted = filterIgnoredTests(allTestsSorted); >>>> List<Class<?>> myTests = getMyTests(allTestsSorted, nodeNumber, >>>> totalNodes); >>>> log.info("There are " + allTestsSorted.size() + " tests to >>> choose >>>> from and I'm going to run " + myTests.size() + " of them."); >>>> for (Class<?> myTest : myTests) { >>>> log.info("I will run " + myTest.getName()); >>>> suite.addTest(new JUnit4TestAdapter(myTest)); >>>> } >>>> >>>> return suite; >>>> } >>>> >>>> >>>> None of my tests use the @RunWith annotation, only this class does. I >>>> don't think I can add that to the tests because >>> DistributedIntegrationTestRunner >>>> does not implement Runner so the code won't compile if I put >>>> @RunWith(DistributedIntegrationTestRunner.class) on a test. Even if it >>>> would work, I don't want to have to put that annotation on every test >>>> because someone will forget and their tests will be silently skipped. >>>> >>>> *If* this class is in the same project as the rest of the integration >>>> tests, I can put this in the pom.xml: >>>> >>>> <plugi >> > > > > -- > Thanks, > Dan > > -- > CONFIDENTIALITY NOTICE: The information contained in this electronic > transmission may be confidential. If you are not an intended recipient, be > aware that any disclosure, copying, distribution or use of the information > contained in this transmission is prohibited and may be unlawful. If you > have received this transmission in error, please notify us by email reply > and then erase it from your computer system. ----------------- Author, Getting Started with Apache Maven <http://www.packtpub.com/getting-started-with-apache-maven/video> Come read my webnovel, Take a Lemon <http://www.takealemon.com>, and listen to the Misfile radio play <http://www.fuzzyfacetheater.com/misfile/>!