Я занимаюсь веб-разработкой с помощью node и express от O'reilly. Тестирование с Mocha только что было представлено, и я пытаюсь запустить 2 теста. Во-первых, это глобальный тест для проверки наличия заголовка страницы, во-вторых, тест для конкретной страницы, чтобы проверить наличие ссылки на страницу контактов. Mocha загружается, когда я тестирую страницу, но ни один из тестов не запускается, так как я получаю «проходит: 0, не проходит: 0».
У меня есть этот код в моем основном файле приложения:
app.use(function(req,res,next){
res.locals.showTests = app.get('env') !== 'production' && req.query.test === '1';
next();
});
app.get('/', function(req, res){
res.render('home');
});
app. get('/about', function(req,res){
res.render('about', {fortune: fortune.getFortune(),
pageTestScript: '/qa/tests-about.js'
});
});
Это мои тесты-about.js
suite('"About" Page Tests', function(){
test('page should contain link to contact page', function(){
assert($('a[href="/contact"]').length);
});
});
Это мои тесты-global.js
suite('Global Tests', function(){
test('page has a valid title', function(){
assert(document.title && document.title.match(/\S/) &&
document.title.toUpperCase() !=== 'TODO');
});
});
Это мой основной файл шаблона (рули)
<!doctype html>
<html>
<head>
<title>Random Pixel Media</title>
{{#if showTests}}
<link rel="stylesheet" href="/vendor/mocha">
{{/if}}
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<header><a href="/"><img src="/img/logo.png" alt="Random Pixel Logo" /></a></header>
{{{body}}}
{{#if showTests}}
<div id="mocha"></div>
<script src="/vendor/mocha.js"></script>
<script src="/vendor/chai.js"></script>
<script>
mocha.ui('tdd');
var assert = chai.assert;
</script>
<script src="/qa/tests-global.js"></script>
{{#if pageTestScript}}
<script src="{{pageTestScript}}"></script>
{{/if}}
<script>mocha.run();</script>
{{/if}}
</body>
</html>
Согласно книге, я должен увидеть 2 комплекта и 1 сбой, когда я захожу на страницу «О нас», но, как я уже сказал, я вижу пустой маркер, проходит: 0 и терпит неудачу: 0. Любая помощь, чтобы понять, что мне не хватает, будет быть высоко оценен.
mocha
, он запустит тесты, соответствующие шаблону./test/*.js
- person topheman   schedule 18.12.2014pageTestScript
каким-то образом не установлен, вы получите результаты, о которых сообщаете. (@topheman Mocha можно запустить на стороне сервера или на стороне браузера. OP работает на стороне браузера Mocha.) - person Louis   schedule 18.12.2014