2009-07-10 83 views
8

對於Javascript,存在一些測試框架,如JSUnit或js-test-driver。他們很好,但他們在瀏覽器中運行測試。這很好,尤其是要驗證您的webapp在不同的瀏覽器中運行。但是在連續集成服務器上沒有安裝窗口系統(也沒有瀏覽器)。那麼有沒有一種方法可以在不使用瀏覽器的情況下運行測試?最好的辦法是使用現有的框架之一,以便開發人員可以在瀏覽器中本地運行測試,持續集成系統可以在瀏覽器中運行。Javascript的哪個測試框架支持沒有瀏覽器的測試?

+2

這不是你的問題的答案,但我會建議在真正的瀏覽器中測試的東西。這是最終用戶會看到的,因此應該進行測試。 CI上安裝了哪些操作系統? – 2009-07-10 12:18:03

+1

CI安裝在Linux上,但沒有X.因此,在CI服務器上無法在瀏覽器中進行測試。在瀏覽器中,無論如何都會由開發人員進行測試,但我想將測試也添加到CI中。 – Mnementh 2009-07-10 12:28:47

+0

phantomjs怎麼樣? – ShrekOverflow 2013-06-25 17:29:45

回答

1

jsTest可以運行命令行或作爲eclipse插件。

但是,如果您需要支持多種瀏覽器,請注意,使用此類工具無法獲得100%的代碼覆蓋率。每個瀏覽器都以不同的方式實現JavaScript(即:IE)。因此,完全測試JavaScript的唯一方法是在您支持的所有瀏覽器中運行測試。

0

我相信Canoo WebTest可以在沒有瀏覽器的情況下運行。這基本上是一個前端測試框架,但可以用來測試JavaScript以及:

http://webtest.canoo.com/

0

JSpec可在沒有瀏覽器的情況下運行(使用Rhino)。但也支持在瀏覽器中運行。

http://visionmedia.github.com/jspec/

它還提供了一個很好的規格樣式語法:

describe 'ShoppingCart' 
    describe 'addProduct' 
    it 'should add a product' 
     cart.addProduct('cookie') 
     cart.addProduct('icecream') 
     cart.should.have 2, 'products' 
    end 
    end 
end 

通過運行在瀏覽器之外的所有單元測試,你也可以得到保證從HTML你的邏輯分離的好處/表示層(對於web應用程序很有用,對於小腳本可能是過分的)。

0

Jasmine將在node.js內運行得相當開心。

相關問題