2013-08-06 199 views
1

在我們當前的項目中,我們使用了帶Telerik庫的ASP.NET,直到最近我們使用MVP(模型視圖演示者)模式。在這種情況下,視圖被設計爲愚蠢的,它沒有包含任何基於定時器的業務邏輯和輪詢機制,該定時器用於從演示者獲取數據並將其顯示在視圖中。通過這種結構,通過集成測試(測試一直到數據庫)來測試應用程序非常簡單。Javascript集成測試框架

最近我們轉向了SignalR,並且我們在視圖中添加了重要的JavaScript邏輯,以便處理從SignalR觸發的事件,但是由於我們的集成測試代碼覆蓋率較低,測試的完整性並不理想(即使應用程序本身失敗,測試仍在傳遞)。

那麼,有沒有人使用過一個框架,可以用來模擬JavaScript執行(包括signalR庫)以及C#代碼,以便可以測試完整的場景?

+0

你看過Chutzpah了嗎? http://www.nuget.org/packages/Chutzpah我們使用了Chutzpah,它使用Phantom作爲無頭瀏覽器來集成我們的js測試和信號中心API。如果你有興趣,我可以發佈更多的細節。 –

+0

這一個看起來很有趣...請儘可能提供更多細節。謝謝 –

回答

1

我們使用Chutzpah來運行我們的Javascript邏輯並測試我們的Signalr Server HUB API。

我們的Javascript測試是使用QUnit創建的(chutzpah也支持Jasmine)。

Chutzpah的test runner允許您通過利用phantom.js(它使用無頭瀏覽器)在Visual Studio中運行您的js測試。您可以運行服務器和js邏輯,並在Visual Studio中驗證/運行結果。另外,我們使用來自signalr的OWIN自己託管了HUB,這對於模擬我們的測試非常有效。

Chutzpah提供了其他功能,所以我建議您檢查一下,看看最適合您的是什麼。

我也會看看Jabbr如何運行測試。他們還使用Chutzpah以及一些可能適合您的更復雜的技術。

+1

Chutzpah沒有任何方式進行集成測試(來自原始問題),只有單元測試。 –