Все о тестировании
- Общая идея всех сред тестирования заключается в том, чтобы позволить разработчикам писать код, определяющий поведение функции, модуля или класса.
- Тестирование одной функции за раз уязвимо для ложноотрицательных и ложноположительных результатов.
Почему мы тестируем?
- Чтобы убедиться, что все работает.
- Повысьте гибкость и уменьшите боязнь кода.
Автоматические тесты известны как Спецификации. Они:
- Сделайте совместную работу проще.
- Производить документацию.
Как мы тестируем
- Среда тестирования: запускает тесты и представляет их пользователю.
- Библиотеки утверждений: основа написанных тестов, код, который мы используем для написания наших тестов.
- Mocha: очень гибкая среда тестирования JS; поддерживает различные библиотеки утверждений.
- Специфический для предметной области язык: относится к компьютерному языку, специализированному для определенной цели.
Что мы тестируем?
- Публичный интерфейс:
- Спросите себя: «Каков публичный интерфейс модуля или класса, который я пишу?»
- Если вы сомневаетесь, убедитесь, что по крайней мере самые важные и/или сложные части этого интерфейса работают должным образом.
Пирамида тестирования
Модульные тесты: наименьшая единица тестирования.
- Используется для тестирования мельчайших деталей по отдельности, прежде чем собирать все вместе.
- Тестирует ОДНУ ВЕЩЬ.
Интеграционные тесты: проверьте взаимодействие между двумя частями вашего приложения.
От начала до конца . Самые близкие автоматические тесты подходят для проверки фактического взаимодействия с пользователем вашего приложения.
Чтение тестов
- Самое главное в тесте — это то, что он читабелен и понятен.
describe("avgValue()", function () { it("should return the average of an array of numbers", function () { assert.equal(avgValue([10, 20]), 15); }); });
- avgValue() => Функция, которую мы будем тестировать.
- it("string") => описывает желаемый результат.
Разработка через тестирование
- TDD — это быстрый повторяющийся цикл, в ходе которого сначала определяется, что должен делать фрагмент кода, и пишутся тесты для этого поведения, прежде чем писать какой-либо код.