我是持續測試產品(如Infinitest)的忠實粉絲。最近我一直在做更多的JavaScript開發,並且正在尋找類似於Visua Studio的東西,它會在保存文件後立即運行我的Jasmine測試。 Mighty Moose看起來像只適用於.NET代碼。我確實喜歡Karma背後的想法,但理想情況下它可以很好地與Visual Studio 2012集成。Visual Studio的噶瑪?
有沒有這樣的野獸?
我是持續測試產品(如Infinitest)的忠實粉絲。最近我一直在做更多的JavaScript開發,並且正在尋找類似於Visua Studio的東西,它會在保存文件後立即運行我的Jasmine測試。 Mighty Moose看起來像只適用於.NET代碼。我確實喜歡Karma背後的想法,但理想情況下它可以很好地與Visual Studio 2012集成。Visual Studio的噶瑪?
有沒有這樣的野獸?
如果要在Visual Studio中保存測試文件後自動運行javascript單元測試,則可以使用「Chutzpah」。
http://visualstudiogallery.msdn.microsoft.com/f8741f04-bae4-4900-81c7-7c9bfb9ed1fe
ps。 這對JS測試非常有用。但如果你想測試DOM操作,你將需要某種Web驅動程序。
編輯:
如果你設置了測試資源管理對構建運行,保存test.js文件將導致測試運行。保存引用的JavaScript本身不會。
如何配置chutzpah以自動運行測試?我在測試瀏覽器中看到這些測試,但仍然需要點擊它們來執行某些操作。 – roufamatic
@roufamatic在測試瀏覽器面板的左上角,在「測試瀏覽器」標題下面,您將看到一個帶有圖標的按鈕,該圖標看起來是「刷新」和「播放/執行」的組合。如果你將鼠標放在它上面,它會說......「生成後運行測試」。當此按鈕處於活動狀態時,每次保存文件時都會運行測試。 –
該按鈕僅適用於VS 2012旗艦版!這不是專業版。 GRRRRRRRRR。 – roufamatic
有一個VS擴展噶亞軍集成(顯示VS輸出窗口噶結果):http://visualstudiogallery.msdn.microsoft.com/02f47876-0e7a-4f6c-93f8-1af5d5189225
現在也可以與測試瀏覽器窗口集成! :) http://blog.dantup.com/2014/03/cross-browser-javascript-testing-with-karma-and-visual-studio/ –
我創建了一個Visual Studio擴展,如果你想使用噶可能對您有用。您基本上正常使用Karma,但啓用了XML記者;然後是一個觀察該XML文件並在測試瀏覽器窗口中顯示結果的VS擴展。
有它的行動的視頻在我的博客(連同文字說明): http://blog.dantup.com/2014/03/cross-browser-javascript-testing-with-karma-and-visual-studio/
反饋歡迎!
我要去試試! :) – gustavodidomenico
嘆氣。仍然依賴「運行測試後生成」,這再次是一個VS Ultimate /高級功能,這是專業人員不可用。 – roufamatic
@roufamatic是的,這是一個MS限制我IBT知道一個方法:( –
對於自動構建,您可以使用以下nuget包,它將使用karma和grunt運行您的茉莉花測試。 所以只要你的build機器上安裝了nodejs,它就應該運行你的單元測試。
https://www.nuget.org/packages/KarmaGruntJSUnit.MSBuild/
感謝
如果您更喜歡使用Gulp而不是Grunt,下面是一些示例:https://stackoverflow.com/questions/26552729/karma-run-single-test/45350941#45350941 – Stefan
最「最新」的VisualStudio擴展似乎是從2015年可以在這裏找到:https://github.com/MortenHoustonLudvigsen/KarmaTestAdapter – Stefan
現有的擴展沒有爲我工作很好。因此,我決定使用解決方案資源管理器的Gulp任務,外部命令和自定義上下文菜單的組合。 Gulp和Karma的結合非常強大。它允許例如實現自定義監視模式或僅測試具有本地更改的文件。 – Stefan
以下是Resharper對Karma支持的相關未解決問題:https://youtrack.jetbrains.com/issue/RSRP-386732 – Stefan