Я хотел бы выполнить BDD, используя только Mocha и 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 (на стороне сервера).
Все примеры, которые я видел, объясняют, как запускать тесты Mocha на веб-странице (на стороне браузера) (с тегом сценария), а не на тестовом сценарии NodeJS.
Мне это не нравится, я хочу оставьте тест чистой консоли, в дополнение к тому факту, что этот подход побуждает меня добавлять тестовый код на мои веб-страницы.
Я видел несколько проектов, пытающихся упростить этот подход, но я им не доволен — кажется, что они выполнили 95% требований, внедрив Mocha и PhantomJS, но последние 5% все еще не выполнены. которые действительно соединяют это вместе.
process
— это то, что Node предоставляет для скриптов (недоступно в браузерах). - person Michael Tang   schedule 10.12.2013