2017-10-21 90 views
0

我的猜測是,卡瑪試驗跑步者沒有掛在摩卡和茉莉花身上,而是相反。如何爲瀏覽器製作符合Karma標準的測試工具?

所以我想摩卡和茉莉花調用是這樣的:

window.__karma__.testCasePassed(data); 
window.__karma__.testCaseFailed(data); 

,然後將噶報告這些事件。

我在寫Suman,我想弄清楚我是否可以讓Suman Karma符合標準。

但是,當我查看Mocha和Jasmine代碼庫時,我沒有看到我期待的證據。

回答

1

你不會在摩卡或茉莉花本身的代碼中找到任何東西,因爲他們對卡爾瑪一無所知。當你在Karma使用Mocha和Jasmine時,你必須使用karma-mochakarma-jasmine這些一方面是摩卡和茉莉花的包裝,另一方面是噶瑪。

如果你看看karma-mocha,你會發現它有一個叫做createMochaReporterConstructor的函數,它創建一個Mocha記者,調用window.__karma__上的函數。 (你可以看到它叫做here和第一個參數是window.__karma__。)

有一點關於this page(搜索「噶框架API」得到它)噶框架API文檔。儘管這是一個非常簡短的描述。如果是我,我會查看karma-mochakarma-jasmine的代碼,以更好地瞭解如何使用它。

+0

Thanks @Louis - 我還沒有想到的一件事 - Karma如何知道測試已完成,以及如何知道進程是否應該使用代碼0退出。似乎只有一個起始鉤子,但沒有結束鉤子。 –

+1

如API文檔中所述:調用'.complete'表示所有測試都已運行。我懷疑Karma決定退出時使用的代碼是否爲0,具體取決於'.result'傳遞了哪些數據,必須爲每個測試調用它以報告測試是否通過。如果一次調用'.result'指示失敗,則退出時使用的代碼不是0. – Louis

+0

ahhh很好,非常感謝 - 我在這裏看到:https://karma-runner.github.io/1.0/dev/ plugins.html –

相關問題