我的猜測是,卡瑪試驗跑步者沒有掛在摩卡和茉莉花身上,而是相反。如何爲瀏覽器製作符合Karma標準的測試工具?
所以我想摩卡和茉莉花調用是這樣的:
window.__karma__.testCasePassed(data);
window.__karma__.testCaseFailed(data);
,然後將噶報告這些事件。
我在寫Suman,我想弄清楚我是否可以讓Suman Karma符合標準。
但是,當我查看Mocha和Jasmine代碼庫時,我沒有看到我期待的證據。
我的猜測是,卡瑪試驗跑步者沒有掛在摩卡和茉莉花身上,而是相反。如何爲瀏覽器製作符合Karma標準的測試工具?
所以我想摩卡和茉莉花調用是這樣的:
window.__karma__.testCasePassed(data);
window.__karma__.testCaseFailed(data);
,然後將噶報告這些事件。
我在寫Suman,我想弄清楚我是否可以讓Suman Karma符合標準。
但是,當我查看Mocha和Jasmine代碼庫時,我沒有看到我期待的證據。
你不會在摩卡或茉莉花本身的代碼中找到任何東西,因爲他們對卡爾瑪一無所知。當你在Karma使用Mocha和Jasmine時,你必須使用karma-mocha
和karma-jasmine
。 這些一方面是摩卡和茉莉花的包裝,另一方面是噶瑪。
如果你看看karma-mocha
,你會發現它有一個叫做createMochaReporterConstructor
的函數,它創建一個Mocha記者,調用window.__karma__
上的函數。 (你可以看到它叫做here和第一個參數是window.__karma__
。)
有一點關於this page(搜索「噶框架API」得到它)噶框架API文檔。儘管這是一個非常簡短的描述。如果是我,我會查看karma-mocha
和karma-jasmine
的代碼,以更好地瞭解如何使用它。
Thanks @Louis - 我還沒有想到的一件事 - Karma如何知道測試已完成,以及如何知道進程是否應該使用代碼0退出。似乎只有一個起始鉤子,但沒有結束鉤子。 –
如API文檔中所述:調用'.complete'表示所有測試都已運行。我懷疑Karma決定退出時使用的代碼是否爲0,具體取決於'.result'傳遞了哪些數據,必須爲每個測試調用它以報告測試是否通過。如果一次調用'.result'指示失敗,則退出時使用的代碼不是0. – Louis
ahhh很好,非常感謝 - 我在這裏看到:https://karma-runner.github.io/1.0/dev/ plugins.html –