@Test public void testTestingClient() throws Exception { final TestingClient testingClient; testingClient = new TestingClient( runner, context, new ClassPathResolver(Thread.currentThread().getContextClassLoader())); final String baseDirectory = System.getProperty("user.dir"); final FileSet tests = new FileSet(); tests.setDirectory(baseDirectory + "/src/test/resources/org/moyrax/"); tests.addInclude("**/*.html"); context.setFiles( tests.getDirectory(), fileSetManager.getIncludedFiles(tests), fileSetManager.getExcludedFiles(tests)); context.setLookupPackages(new String[] {"classpath:/org/moyrax/javascript/common/**"}); context.setClassLoader(new ContextClassLoader(Thread.currentThread().getContextClassLoader())); Shell.setResolver("lib", new LibraryResolver("/org/moyrax/javascript/lib")); Shell.setResolver( "classpath", new ClassPathResolver(Thread.currentThread().getContextClassLoader())); loadContextResources(testingClient); testingClient.runTests(); }
/** Initializes the required resources for the test environment. */ private void loadContextResources(final TestingClient client) throws IOException { final String[] dependencies = new String[] { /* QUnit testing framework. */ "org/moyrax/javascript/lib/qunit.js" }; for (int i = 0; i < dependencies.length; i++) { client.addGlobalResource(dependencies[i]); } // Copies the qunit source file for the local tests. IOUtils.copy( ResourceUtils.getResourceInputStream("classpath:org/moyrax/javascript/lib/qunit.js"), new FileOutputStream(new File(System.getProperty("java.io.tmpdir"), "qunit.js"))); }