Базовый модуль модуля

Тест модуля

Модуль тестирования представляет собой среду тестирования. В сочетании с модулем утверждений assertможно легко писать различные тестовые примеры.

Внедрение модулей часто требует первых fibjsопераций :testtest setup

1 2
var test = require('test'); test.setup();

Прежде чем писать тестовые примеры, вам обычно необходимо определить тестовый модуль для описания содержимого теста.

  • описывать

«Описание» — это контейнер для всех групп тестов, аналогичный концепции набора тестов, который используется для itпривязки тестов к определенной категории. «Описание» может содержать несколько вариантов использования или другие подкатегории, представленные вложенным описанием.

1
describe(String name, Function block)

Параметры вызова: имя: строка, определение блока имени модуля: функция, код инициализации модуля.

  • это

Представляет один тестовый пример, и каждое описание должно тестировать только одну ситуацию, чтобы гарантировать надежность результатов теста.

1
it(String name, Function block)

Параметры вызова: имя: строка, определение блока имени проекта: функция, тестовое содержимое

  • xit&it.skip

Представляет пропущенные тестовые случаи.

1
xit(String name, Function block)

Параметры вызова: имя: строка, определение блока имени проекта: функция, тестовое содержимое

  • Ойт и это.только

Указывает, что будет выполняться только текущий тестовый пример, а другие тестовые примеры будут игнорироваться, поэтому текущий тестовый пример можно отладить отдельно, что очень практично.

1 2
oit(String name, Function block) it.only(String name, Function block)

Параметры вызова: имя: строка, определение блока имени проекта: функция, тестовое содержимое

  • делать

Указывает на необходимость дальнейшего улучшения плана тестового примера.

1
todo(String name, Function block)

Параметры вызова: имя: строка, определение блока имени проекта: функция, тестовое содержимое

При написании тестовых случаев обычно используютassertМодуль утверждений проверяет возврат функции. Как это использовать:

1
assert(condition, String message);

Среди них первый параметр — это условие, которое необходимо установить, а второй параметр — сообщение об ошибке.

объект

assert

Подтвердите тестовый модуль. Если тестовое значение ложно, будет сообщено об ошибке. Поведение отчета об ошибках можно настроить на продолжение работы или выдачу ошибки.

1
assert test.assert;

статическая функция

describe

Определите тестовый модуль, который может быть вложенным

1 2
static test.describe(String name, Function block);

Параметры звонка:

  • name: строка, определяет имя модуля
  • block: Функция, код инициализации модуля

xdescribe

Определение модуля для приостановки тестирования,test.setupЗатем вы можете использовать описать.skip для вызова

1 2
static test.xdescribe(String name, Function block);

Параметры звонка:

  • name: строка, определяет имя модуля
  • block: Функция, код инициализации модуля

odescribe

определения модулей для независимого тестирования,test.setupЗатем вы можете использовать define.only для вызова

1 2
static test.odescribe(String name, Function block);

Параметры звонка:

  • name: строка, определяет имя модуля
  • block: Функция, код инициализации модуля

it

Определить тестовый проект

1 2
static test.it(String name, Function block);

Параметры звонка:

  • name: Строка, определяет имя проекта.
  • block: Функция, тестовое содержимое

xit

Определение проекта для приостановки тестирования,test.setupЗатем вы можете использовать it.skip для вызова

1 2
static test.xit(String name, Function block);

Параметры звонка:

  • name: Строка, определяет имя проекта.
  • block: Функция, тестовое содержимое

oit

Определение проекта для независимого тестирования,test.setupЗатем вы можете использовать его.только для вызова

1 2
static test.oit(String name, Function block);

Параметры звонка:

  • name: Строка, определяет имя проекта.
  • block: Функция, тестовое содержимое

todo

план определения проекта,test.setupЗатем вы можете использовать it.todo для вызова

1 2
static test.todo(String name, Function block);

Параметры звонка:

  • name: Строка, определяет имя проекта.
  • block: Функция, тестовое содержимое

before

Определить текущее событие входа в тестовый модуль

1
static test.before(Function func);

Параметры звонка:

  • func: Функция, функция события

after

Определить событие выхода текущего тестового модуля

1
static test.after(Function func);

Параметры звонка:

  • func: Функция, функция события

beforeEach

Определить событие входа в тестовый проект текущего модуля тестирования.

1
static test.beforeEach(Function func);

Параметры звонка:

  • func: Функция, функция события

afterEach

Определить событие выхода текущего тестового проекта тестового модуля

1
static test.afterEach(Function func);

Параметры звонка:

  • func: Функция, функция события

mustCall

Проверьте, что функцию необходимо вызывать указанное количество раз.

1
static Function test.mustCall(Function func);

Параметры звонка:

  • func: Функция, тестируемая функция.

Результаты возврата:

  • Function, возвращает завернутую функцию

mustNotCall

Проверьте, что функцию нельзя вызывать

1
static Function test.mustNotCall(Function func);

Параметры звонка:

  • func: Функция, тестируемая функция.

Результаты возврата:

  • Function, возвращает завернутую функцию

Проверьте, что функцию нельзя вызывать

1
static Function test.mustNotCall();

Результаты возврата:

  • Function, возвращает завернутую функцию

run

Начать выполнение определенного тестового модуля

1
static Object test.run(Integer mode = console.ERROR);

Параметры звонка:

  • mode: Целое число, указывает режим тестирования. При значении ERROR информация об ошибках проекта концентрируется и отображается после отчета. Когда оно меньше значения ERROR, выходная информация отображается в любое время. Когда значение выше ERROR, отображается только отчет. отображается.

Результаты возврата:

  • Object, вернуть результаты теста

После завершения тестового запуска результаты теста будут возвращены в следующем виде:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
{ "total": 2, // number of total test cases "pass": 2, // number of passed test cases "fail": 0, // number of failed test cases "skip": 0, // number of skipped test cases "todo": 0, // number of todo test cases "time": 0.000000, // time elapsed in seconds "cases": [ // details of test cases { "name": "test", // name of test case "time": 0.000000, // time elapsed in seconds "result": true, // result of test case "error": null // message of error if test case failed }, { "name": "sub cases", // name of sub test case "total": 1, // number of total test cases "pass": 1, // number of passed test cases "fail": 0, // number of failed test cases "skip": 0, // number of skipped test cases "todo": 0, // number of todo test cases "time": 0.000000, // time elapsed in seconds "cases": [ // details of test cases { "name": "test", // name of test case "time": 0.000000, // time elapsed in seconds "result": true, // result of test case "error": null // message of error if test case failed } ] } ] }

setup

Инициализируйте тестовую среду текущего скрипта и скопируйте метод тестового модуля как глобальную переменную текущего скрипта.

1
static test.setup();

статические свойства

slow

Целое число, установите и запросите порог предупреждения о медленной проверке, в мс, значение по умолчанию — 75.

1
static Integer test.slow;