3

I am working on a project where the Javascript is becoming more complex, and needs to be tested as part of our automated build.

Now I have got a project structure like shown below:

- root
|- build.xml
|- tools
    |- js-test-driver
        |- js-test-driver.js
        |- js-test-driver.conf
|- src
    |- code
        |- projectname.web
            |- assets
                |- javascript
                    |- my-javascript-files.js
    |- tests
        |- projectname.javascript
            |- my-javascript-tests.js

In my Nant build I kick off Java using then pass it the js-test-driver.js file, with the arguments to use the config file provided. Now I noticed that when I was running it that its config file paths seem to be relative to the js-test-driver directory, not the project root directory.

I didnt think this was an issue, and just put the following in my config file:

server: http://localhost:9876

load:
  - ../../src/code/projectname.web/assets/javascript/*.js
  - ../../src/tests/projectname.javascript/*.js

Now if I run my task in Nant, it starts up the test driver (in Firefox currently) fine but just fails, saying that it cannot find any tests to run, but the thing which I find confusing is that it lists the test directory as:

tests/../../src/tests/projectname.javascript/*.js

And I cannot for the life of me figure out why it is putting this "tests/" before everything... If i put ../../../ in to negate this seemingly hardcoded tests dir, it tells me that the path is not in a valid pattern.

Anyone else had anything similar or know where I am going wrong?

1 Answers1

2

The "tests" folder is always prepended, it's just where jsTestDriver serves its files from. To quote Cory Smith from the jsTestDriver team:

All resources associated with the test run are served off /test. All static runner resources are served off /static

JsTestDriver-1.3.2 has problems with relative paths. The issue has already been discussed and filed as an issue.

Did you try setting the basepath in js-test-driver.conf. It's fairly new and not yet documented, not sure how it's affected by the relative path problems.

basepath: /root/src
meyertee
  • 2,211
  • 17
  • 16
  • Cool, if that doesn't work you might want to roll back to JsTestDriver-1.3.1. That's what I did until relative paths are fixed. – meyertee Apr 13 '11 at 07:48
  • Just found out that the bug http://code.google.com/p/js-test-driver/issues/detail?id=223 is fixed now. Release 1.3.3b. – eolsson Oct 04 '11 at 08:26