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