Javascript-тестирование

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

Теперь, когда я выпустился, я должен написать эти тесты для своих собственных проектов!

Я написал несколько тестов Ruby с помощью Capybara, так что теперь я хотел попробовать свои силы в написании тестов Javascript.

Мокко

В честь «Да пребудет с тобой четвертое число» мое альтернативное название для этого поста — «Да пребудет с тобой мокко». Я обнаружил, что Mocha легко настроить и использовать, и им приятно пользоваться.

Mocha — это среда тестирования Javascript. Он работает для тестирования JS в браузере, а также JS, который выполняется в среде node JS.

Мой первый тест мокко

Я решил написать тест Mocha, который будет выполняться в среде node JS.

Вот код:

// Require the built in 'assertion' library
    var assert = require('assert');
    describe('Compare', function() {
      describe('Star Wars Quotes', function() {
        it('should test whether two data types are equivalent ', function() {
          assert.equal(true, typeof "May the Fourth Be With You" === typeof "Help me Obi Wan Kenobi, you're my only hope")
        })
      })
    })

Этот тест проходит успешно, потому что оба операнда являются строками, поэтому функция вернет ожидаемый результат true.

Уроки выучены

Руководство по началу работы на сайте mochajs.org содержит очень простые инструкции о том, как запустить свой первый тест Mocha.

Однако я продолжал получать сообщение об ошибке, связанное с моим файлом package.json, всякий раз, когда я пытался запустить «тест npm». Сообщение об ошибке утверждало, что «такой файл или каталог» не существует. В конце концов я запустил команду «npm init» из каталога проекта. Это создало файл package.json в каталоге моего проекта и устранило проблему.

Ресурсы

Есть много отличных ресурсов для изучения мокко, если вам это интересно. Конечно же, на mochajs.org есть официальная документация.

Также есть более подробный туториал по среде от codeburst.