我來(lái)講講它是如何與 Ant 相結合的。
這個(gè) JsUnit 提供了一個(gè) JUnit 的 TestCase:
net.jsunit.StandaloneTest
這個(gè) TestCase 可以在 JUnit 的 TestSuite 或者 Ant 的 junit 任務(wù)中調用。在測試過(guò)程中,它會(huì )自動(dòng)打開(kāi)某種瀏覽器(IE、FireFox、etc.),運行所有的測試用例,然后關(guān)閉瀏覽器,將返回結果輸出到命令行并且保存到與 JUnit 格式完全相同的 xml 報表文件中。
JsUnit 有兩種工作方式,本地 standalone_test 方式和遠程 distributed_test 方式,上面講的是 standalone_test 方式。對于 distributed_test 方式情況要復雜一些。使用的是另外一個(gè) JUnit 的 TestCase:
net.jsunit.DistributedTest
JsUnit 提供了幾個(gè) Servlet,需要部署到遠程的 Web Server 上,叫做 JsUnit Server。JsUnit Client(就是 DistributedTest 對象)將測試請求發(fā)送到遠程 JsUnit Sever,遠程的 JsUnit Sever 自動(dòng)打開(kāi)該機器上的瀏覽器,運行所有的測試用例,然后關(guān)閉瀏覽器,將返回結果送回給 JsUnit Client,JsUnit Client將返回結果輸出到命令行并且保存到與 JUnit 格式完全相同的 xml 報表文件中。
通過(guò)以上的兩種方式,JsUnit 可以測試任何操作系統+瀏覽器的組合,并且可以以命令行方式執行所有的測試用例。然后我們就可以更進(jìn)一步將對于 JS 代碼的自動(dòng)測試集成到持續集成工具(CC、AntHill、etc.)之中了。
聯(lián)系客服