Почему тест мокко не запускается? - узел.js

Я занимаюсь веб-разработкой с помощью 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. Любая помощь, чтобы понять, что мне не хватает, будет быть высоко оценен.


person chris    schedule 17.12.2014    source источник
comment
как вы запускаете мокко + где ваши тесты? Если вы просто запустите mocha, он запустит тесты, соответствующие шаблону ./test/*.js   -  person topheman    schedule 18.12.2014
comment
Если pageTestScript каким-то образом не установлен, вы получите результаты, о которых сообщаете. (@topheman Mocha можно запустить на стороне сервера или на стороне браузера. OP работает на стороне браузера Mocha.)   -  person Louis    schedule 18.12.2014


Ответы (2)


прошло довольно много времени с тех пор, как вы опубликовали это. Я сейчас читаю книгу, и у меня тоже была такая же проблема. Я понял, что это потому, что я начал с:

localhost:3000/?test=1 

вместо:

localhost:3000/about?test=1
person pigletwithcurls    schedule 12.11.2018

Пример книги правильный. Это может быть связано с соглашением об именах ваших файлов или файловых структур. У меня были похожие проблемы, но у меня были неправильные имена в моих файлах. Например, «Тест» против «Тесты».

person Marvin S    schedule 23.01.2019