我使用這個問題作爲例子:測試與摩卡,Nightmare.js沒有ES6語法和產量
Use Nightmare.js without ES6 syntax and yield
但是,如果我把它放在摩卡測試,這將在超時,這裏的走代碼:
describe('Google', function() {
it('should do things', function(done) {
var x = Date.now();
var nightmare = Nightmare();
Promise.resolve(nightmare
.goto('http://google.com')
.evaluate(function() {
return document.getElementsByTagName('html')[0].innerHTML;
}))
.then(function(html) {
console.log("done in " + (Date.now()-x) + "ms");
console.log("result", html);
expect(html).to.equal('abc');
done();
return nightmare.end();
}).then(function(result) {
}, function(err) {
console.error(err); // notice that `throw`ing in here doesn't work
});
});
});
但問題是,done()
永遠不會被調用。
對我來說,仍然無法正常工作,當我運行'摩卡test.js'它抱怨'beforeEach(功能*(){ 語法錯誤:意外的令牌*' –
@MaksimLuzik使用節點的新版本。支持生成器語法的js –