Я пытаюсь сделать вариант сквозного тестирования в системе sailjs с использованием mocha. То, что я хочу сделать, это имитировать поток программ действий, делая такие вещи, как создание пользователя, а затем выполнение других действий с этим пользователем.Использование переменной --globals с набором тестов MochaJS
Я хотел бы иметь возможность отделить мои тесты от отдельных файлов, которые выполняются по порядку в отношении разных операций, таких как «зарегистрировать нового пользователя» и т. Д. Для этого мне нужно иметь возможность передавать значения между тестированием файлы.
Mocha содержит опцию настройки --globals <value1, value2, etc>
. Вот описание из документов:
--globals allow the given comma-delimited global [names]
Однако я не смог заставить это работать. Вот что я пробовал. У меня есть файл bootstrap.test.js, который делает основной до и после операций, начиная и остановочных парусов:
var Sails = require('sails'),
sails;
before(function(done) {
Sails.lift({
log: {
level: 'error'
}
}, function(err, server) {
sails = server;
if (err) return done(err);
// here you can load fixtures, etc.
done(err, sails);
});
});
after(function(done) {
// here you can clear fixtures, etc.
sails.lower(done);
});
Тогда давайте говорить, у меня есть два тестовых файлов a.js
и b.js
, которые будут выполняться последовательно и для тестирования целей содержат очень мало:
a.js:
var user = 'some user';
b.js:
console.log(user);
Если я затем запустить mocha --globals
, я получаю ошибку:
ReferenceError: user is not defined
Что я здесь делаю неправильно? Я не смог найти нигде в Интернете описание того, как это будет использоваться.
Кажется, мне удалось получить эту работу, просто используя глобальные переменные. [Variable] и после того, как назначенное значение можно получить в других тестах. Помогает ли это? – craigvl
Можете ли вы привести более обширный пример кода? Благодаря! – fraxture