From Gossip@caterpillar

Ajax Gossip: setUp、tearDown、setUpPage、Test Suite

在測試頁面中,您可以設定setUp()、tearDown()或setUpPage()函式,例如…
<script type="text/javascript" src="JsUnitTestEx-2.js"></script>
<script type="text/javascript">
function setUpPage() {
    // 這個測試頁面載入後只作一次的事
}

function setUp() {
    // 寫一些每個testXXX函式執行前要作的事
}

function testValidArgs() {
    assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 2));
}

function testWithNegativeNumbers() {
    assertEquals("negative numbers: -2 + -2 is -4", -4,
    addTwoNumbers(-2, -2));
}

function tearDown() {
    // 寫一些每個testXXX函式執行後要作的事
}
</script>

如果您有許多測試頁面想要一次進行測試,您不需要使用testRunner.html一個一個瀏覽頁面來運行測試,而可以撰寫一個包括Test Suite的頁面,當中包括一個suite()函式…

function sampleSuite() {
    var sampleSuite = new top.jsUnitTestSuite();
    sampleSuite.addTestPage("../AjaxLab/WebContent/anotherTestPage.html");
    sampleSuite.addTestPage("../AjaxLab/WebContent/simpleTestPage.html");

    return sampleSuite;
}

function suite() {
    var testSuite = new top.jsUnitTestSuite();
    testSuite.addTestSuite(sampleSuite());
    testSuite.addTestPage("../AjaxLab/WebContent/setupTearDownExample.html");

    return testSuite;
}


jsUnitTestSuite()的addTestPage()函式可以加入測試頁面,路徑為相對於testRunner.html, addTestSuite()函式則可以加入一個jsUnitTestSuite()物件,您的suite()函式要傳回jsUnitTestSuite ()物件,Test Runner方可得知所有打算進行測試的頁面為哪些。