2014-09-25 3 views
0

Я с трудом понимая следующий код, который использует мокко и Chai для тестирования сайта в nodejs:Функциональное тестирование сайта с помощью Mocha и Chai для Nodejs

suite('Global Tests', function(){ 
     test('page has a valid title', function(){ 
       assert(document.title && document.title.match(/\S/) && 
         document.title.toUpperCase() === 'AHC'); 
     }); 
}); 

Смущает как этот код работает пока не похоже, следуют за chai documentation для утверждения. Если формат выглядит следующим образом:

Assert (выражение, сообщение)

ответ

1

Он просто не передавая второй параметр (сообщение). Это не является недопустимым, просто затрудняет определение причины неудачи теста. Если вы хотите сделать тестовый чистильщик, вы можете разбить выражение на три утверждения и передать сообщение о том, что утверждают, проверяя.

suite('Global Tests', function(){ 
    test('page has a valid title', function(){ 
    assert(document.title, 'document title is not defined'); 
    assert(document.title.match(/\S/), 'document title does not have a single character'); 
    assert(document.title.toUpperCase() === 'AHC', 'Document title does not equal AHC'); 
    }); 
});  
+0

Я добавил assert ('foo'! == 'bar', 'foo is not bar'); чтобы проверить, как работает сообщение. Я поместил его в разные части вышеприведенного кода и не смог увидеть сообщение «foo is not bar». Можете ли вы привести пример нескольких утверждений с кодом выше? – JnL

+0

Обновленный ответ с примером. Если вы хотите увидеть сообщение, я предлагаю изменить значение AHC в третьем утверждении. Обратите внимание, что ваш пример assert 'foo'! == 'bar' всегда верен, поэтому утверждение никогда не происходит. –

+0

Я запустил ваш код, и то, что я нахожу, - это сообщение, отображаемое на странице браузера, имеет действительный заголовок (с проверкой или X в зависимости от того, проходит ли он), а не с сообщением, связанным с утверждением. Должно ли отображаться сообщение подтверждения в браузере? – JnL

Смежные вопросы