async
/ await
тесты $ npm install --save-dev uvu
Ознакомьтесь
/examples
чтобы увидеть список рабочих демо!
// tests/demo.js
import { test } from 'uvu' ;
import * as assert from 'uvu/assert' ;
test ( 'Math.sqrt()' , ( ) => {
assert . is ( Math . sqrt ( 4 ) , 2 ) ;
assert . is ( Math . sqrt ( 144 ) , 12 ) ;
assert . is ( Math . sqrt ( 2 ) , Math . SQRT2 ) ;
} ) ;
test ( 'JSON' , ( ) => {
const input = {
foo : 'hello' ,
bar : 'world'
} ;
const output = JSON . stringify ( input ) ;
assert . snapshot ( output , `{"foo":"hello","bar":"world"}` ) ;
assert . equal ( JSON . parse ( output ) , input , 'matches original' ) ;
} ) ;
test . run ( ) ;
Затем выполните этот тестовый файл:
# via `uvu` cli, for all `/tests/**` files
$ uvu -r esm tests
# via `node` directly, for file isolation
$ node -r esm tests/demo.js
Примечание. Параметр
-r esm
предназначен для устаревших версий Node.js. Узнать больше
Просмотрите документацию
uvu
CLI
Модуль uvu/assert
совершенно необязателен.
Фактически, вы можете использовать любую библиотеку утверждений, включая собственный модуль assert
Node! Это работает, потому что uvu
полагается на выброшенные ошибки для обнаружения сбоев. Косвенно это также означает, что любые неперехваченные исключения и/или необработанные отклонения Promise
приведут к сбою, а это именно то, что вам нужно!
uvu
Посмотреть документацию по API
uvu
Основная запись, из которой вы будете импортировать методы test
или suite
.
uvu/assert
Просмотр документации по API
uvu/assert
Коллекция методов утверждения для использования в ваших тестах. Обратите внимание:
через каталог
/bench
с Node v10.21.0
Ниже вы найдете каждый тестировщик с двумя значениями времени:
took ___
— это общее время выполнения процесса — от запуска до завершения.(___)
) — это время выполнения, сообщаемое пользователем, если оно известно. stdout
каждого средства запуска теста выводится на консоль для проверки прохождения всех утверждений.
Указанный вывод исключен ниже для краткости.
~> "ava" took 594ms ( ??? )
~> "jest" took 962ms (356 ms)
~> "mocha" took 209ms ( 4 ms)
~> "tape" took 122ms ( ??? )
~> "uvu" took 72ms ( 1.3ms)
Массачусетский технологический институт © Люк Эдвардс