Jump to: navigation, search

Difference between revisions of "Orion/JS Unit Test"

(Running test cases)
m (add Category)
Line 46: Line 46:
[[Category:Orion|JS Unit Test]]

Revision as of 16:31, 21 January 2011

Writing Javascript unit test cases

We are using JS Test Driver for Javascript unit testing. Here are steps to write your own test cases.

  • Test cases can be declared in .js files under your project. We're still working on best practices on where to put your tests but for now a simple approach is to create a folder co-located with your regular code under your project like this:


  • A .js file can declare as many test cases as you want but declaring one test case per file will be the best practice.
  • The test case declaration is as below. You will declare all the tests as functions. For more details refer to the JsTestDriver wiki here.
MyTestCase = TestCase("MyTestCase");
MyTestCase.prototype.testA = function(){};
  • There is a list of default assertions for JsTestDriver. Refer here to use them in your testcases.

Test configuration

In order for JsTestDriver to run the test cases, you should:

  • Create a file called jsTestDriver.conf directly under your project root folder.
  • The content of the conf file is something like below. Refer here for details.
server: http://localhost:8082
- web/js/*.js   
- web/js-tests/*.js

Running test cases

There are currently two options and will be one more in the future , to run the test cases you've written.

Running from daily build automatically

  • Once you've done the steps on test case and configuraion, Orion Build will do a search for all jsTestDriver.conf files in all client projects and run js unit test on each .conf file.
  • The result will be reported as an HTML table on the daily build page as below. Also refer here as a sample.


Running locally from Eclipse plugin

You can also run your test cases from the JsTestDriver Eclipse plugin.


Refer here for details on the plugin installation and usage. Here are some points you want to pay attention after you install the plugin.

  • Put options properly in the Eclipse preferences ,especially telling the jsTestDriver server where your browser is.
  • Run server locally.
  • Capture browser before run test.
  • Run test from run configuration on your project.

Running from Orion (under development)

We are planning to run js unit test by using JsTestDriver javascript library. The target is to give Orion users capability to run their js unit test from browser , as part of the self-hosting functionality.Although not finalized yet, below is the initial UI prototype.