1
我需要能夠在瀏覽器中執行摩卡測試。不使用cli工具通過終端在瀏覽器中運行測試。從字面上看,瀏覽器中的所有內容。目標是在用戶點擊一個按鈕後運行規格。在瀏覽器中定義摩卡規格
我已經在瀏覽器中正確安裝了mocha,但有一些緩存行爲令我困惑。
https://plnkr.co/edit/nuZZyD5EsMtpgP66HtW5?p=preview
的HTML:
<div id="mocha"></div>
<button id="test">run test</button>
的JS:
(function(init, $, runner) {
init();
$('#test').addEventListener('click', runner)
})(
function init() {
mocha.setup('bdd');
},
function $(sel) {
return document.querySelector(sel);
},
function specRunner(e) {
describe('test at ' + new Date().getTime(), function() {
it('should add 1 + 1', function() {
chai.assert(1 + 1 === 2, 'added 1 + 1');
});
});
mocha.run();
}
)
其他測試工具我曾經使用過(qunit,茉莉,因果報應,量角器)所有這些都會鼓勵(強制?)用戶在跑步者開始之前定義所有的規格編輯。這與我試圖實現的目的相反:以編程方式定義規格,而不是在運行時定義規格。
在plnkr中,似乎摩卡正在緩存先前的規格,然後在每次點擊時運行所有規格。我怎樣才能解決這個問題?
爲什麼你需要在你的網站上執行測試? –
,因爲這是一個奇怪的邊緣情況下,使用webdriver不是首選。最終的目標是在擴展中添加一個「spec runner」。我只是不想推出我自己的測試庫。 –
我不知道你的確切情況,但我真的會阻止你做這樣的事情。不過,我發佈了一個答案(我認爲)可以解決您的問題。 –