Тестирование JS.
2017 год
Общие правила тестирования JavaScript.
- Рекомендуется создавать общие тестируемые объекты в функции beforeEach и при необходимости делать очистку в afterEach. Функции beforeEach/afterEach запускаются перед/после каждого теста в наборе.
- Функции beforeAll/afterAll, запускаемые перед всеми и после всех тестов использовать не рекомендуется.
- Тест должен проверять только тот функционал/свойства, для чего предназначен. Т.е. тестовые объекты не должны быть перегружены лишней информацией. Должно быть четко понятно какие исходные данные тестируются данным тестом.
- Тесты должны проверять как успешное исполнение функционала, так и ошибочное, когда входные данные некорректны или отсутствуют.
- Юнит-тест не должен зависеть от внешних сервисов, порядка исполнения тестов и контекста исполнения. Поведение теста должно зависеть только от исходного кода и исходных данных теста.
- Структура файлов тестов должна быть максимально приближена к структуре исходного проекта - расположение файлов внутри тестового проекта должно соответствовать расположению файлов тестируемого проекта.
- Имена файлов с тестами должны заканчиватся на «.spec.js».
- В файле “.eslintrc” необходимо включить настройки для работы с тестами jasmine.
// (def=false) Jasmine test. "jasmine": true, // (def=false) Phantomjs. "phantomjs": true