Я бы хотел сделать несколько BDD, используя Mocha и PhantomJS только.
Определите несколько функциональных путей и испытайте их.Run mocha from 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% отменить, материал, который действительно соединяет его вместе.
Нашел этот удивительный проект (https://github.com/alexscheelmeyer/node-phantom), но неясно, как дела обстоят там .. Мне нравится идея удаленного управления PhantomJS .. Не уверен, что я должен использовать его , поскольку он кажется небольшим проектом с ограниченной (будущей) поддержкой .. – Poni
Что-то примечание заключается в том, что PhantomJS является безгласным браузером веб-браузера (V8 runtime), а Mocha предназначен для работы во время выполнения узла. Требование Mocha терпит неудачу, потому что 'process' - это то, что Node предоставляет сценарии (недоступен в браузерах). –