我想使用摩卡和PhantomJS做一些BDD。
定義一些功能路徑並測試它們。從phantomjs運行摩卡
總之,我喜歡運行的命令phantomjs test.js
而test.js
包含這樣的事情:
var mocha = require("mocha"); // This one fails with "ReferenceError: Can't find variable: process"..... "/node_modules/mocha/index.js:2"
var page = require('webpage').create();
describe('Empty', function(){ // Obviously this one fails too with "ReferenceError: Can't find variable: describe"
describe('tests are', function(){
it('very nice', function(done){
page.open("http://www.phantomjs.org/", function (status) {
console.log('Loading a web page');
console.log("Page is loaded");
phantom.exit(); // Or, just call `done()`, doesn't matter right now
});
})
})
})
你能認出兩人的代碼段?
我該如何做這項工作?我已經閱讀了一些頁面,我可以在瀏覽器版本中使用require()
「mocha.js」,但它似乎並不能很好地工作。
------------------更多詳細信息-------------------------- ----------
我試過CasperJS,但除了提供一些非常好的東西,我想念摩卡的吸引人的測試設計(服務器端)。
我見過的所有示例都解釋瞭如何在網頁(瀏覽器端)(帶腳本標記)上運行Mocha測試,而不是NodeJS測試腳本。
我不喜歡它,除了這個方法鼓勵我將測試代碼添加到我的網頁之外,我想保持測試純控制檯。
我已經看到一些項目試圖緩解這種方法,但我不滿足於它 - 它似乎已通過引入Mocha和PhantomJS完成了95%的要求,但最後的5%仍然是撤消,真正將它們連接在一起的東西。
發現這個很棒的項目(https://github.com/alexscheelmeyer/node-phantom),但目前還不清楚如何在那裏做的事情..我喜歡遠程控制PhantomJS的想法..不知道我應該使用它,因爲它似乎是一個有限(未來)支持的小項目。 – Poni
需要注意的是,PhantomJS是一個無頭webkit瀏覽器(V8運行時),並且Mocha被設計爲在節點運行時運行。由於'process'是Node爲腳本提供的某些內容(瀏覽器不可用),因此需要摩卡失敗。 –