@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")));
  }