Что такое шума?
Jest – это структура тестирования JavaScript с открытым исходным кодом и используется множеством различных компаний, включая Facebook, Twitter, Spotify и многое другое. Чем быстрый и интуитивно понятный, чтобы учиться и настроить.
Чтобы установить использование NPM, перейдите к каталогу, который вы хотите добавить тесты для ( Mkdir David-Foster-Wallace
а потом CD David-Foster-Wallace
) Создайте файл package.json ( npm init -y
) и введите NPM установить --save-dev jest
в вашем терминале.
Что такое бесконечное шутка?
Infinite Jest – это книга Давида Фостера Уоллес, я никогда не читал, но решил ссылаться на много раз, чтобы сделать этот блог смущенным тематическим.
Давайте напишем флажок
После того, как вы установили Jest, вам нужно будет быстрое изменение в файл Package.json, а затем вы можете начать писать первый тест.
1) Изменить «Тест»:
Значение в «Сценарии»:
объект к “шуме”
{ "name": "david-foster-wallace", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "jest" // <-- this line! }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "jest": "^25.1.0" } }
2) Создайте новый файл с именем pageCount.js 3) Написать функцию pageCount в этом файле
const pageCount = () => { return 1079 + ' pages'; // try this with 'pages' and the test in step 7 will fail! } module.exports = pageCount; // export your function to access from your test file
4) Создайте новый файл с именем PageCount.test.js или pageCount.spec.js
Испытания должны быть написаны в файлах, заканчивающихся в .test.js или .spec.js.
5) Убедитесь, что требуют файла PageCount.js в вашем тестовом файле
const pageCount = require('./pageCount');
6) Напишите тест (мы охватим условия и синтаксис в анатомию теста ниже)
describe('these tests are all about the page count of Infinite Jest', () => { test('pageCount should return the page count of Infinite Jest', () => { expect(pageCount()).toBe('1079 pages'); }) })
7) Запустите свои тесты с NPM запустить тест
в вашем терминале
Сделал NPM Run Test. застрять для тебя? (больше похоже на бесконечное тест, я прав ??) Это случилось со мной тоже! Я смог решить это, беги Brew Uninstall Watchman. в моем терминале. Оформить заказ этот выпуск GitHub для получения дополнительной информации о NPM запустить тест висит .
Анатомия теста
Мы кратко осмотрим следующие термины из теста, который мы писали выше:
- Опишите – логически группируйте ваши тесты вместе
- Тест – это будет держать ваш тест
- Ожидайте – это ваше утверждение, которое проверяет, проходит ли ваш тест или выходит из строя
Опишите использование для групповых испытаний вместе. Если бы мы хотели написать еще несколько тестов, все о странице подсчета бесконечного шума, мы могли бы добавить их под описание, которое мы написали выше. Опишите, использует 2 аргумента, ваше резюме тестов, включенных в описание и функцию, которая содержит тесты.
describe('these tests are all about the page count of Infinite Jest', () => { test('pageCount should return the page count of Infinite Jest', () => { expect(pageCount()).toBe('1079 pages'); }) test('endnotesPageCount should return the page count of the endnotes in Infinite Jest', () => { expect(endnotesPageCount()).toBe('too many...'); }) test('tooLong should return a boolean indicating if Infinite Jest is too long', () => { expect(tooLong()).toBe(true); }) })
Тест занимает 3 аргумента, ваша сводка условий для тестирования, функция, которая содержит вашу «ожидаю», и дополнительное время ожидания. Для целей этого учебника я не буду охватить дополнительный аргумент тайм-аута. Тест не должен быть написан внутри описанного метода.
test('timeToReadThisBook returns how long it takes to read I.J. based on reading speed', () => { expect(timeToReadThisBook('medium speed')).toBe('~50 hours'); })
Ожидайте, где вы пишете, что должно произойти, когда вы тестируете на разные сценарии. Ожидайте, где вы можете подумать о различных сценариях и краевых случаях, которые могут возникнуть для вашего кода и о том, как вы хотите справиться с ними. Например, для нашей функции TimeToreadthisbook вы можете записать ожидаю, когда «NULL» предоставляется как скорость чтения.
test('timetoReadThisBook...', () => { expect(timeToReadThisBook(null).toBe( 'You will haunt your local public library. Your unfinished business is to read Infinite Jest. Ghosts do not have ghost library cards. Sad!' ); })
Ожидаемая функция используется каждый раз, когда вы хотите проверить значение. Вы редко звоните ожидать сама по себе. Вместо этого вы будете использовать ожидаемое наряду с функцией «Matcher», чтобы утвердить что-то о значении. – Jest Docs.
Шутники
Подписчики используются для проверки значений в ваших ожидаемых методах. Я перечислял некоторые из наиболее распространенных матчей ниже:
- .tobe – используется для проверки строгого равенства
- .toequal – используется для проверки объектов и массивов
- .нет –
Ожидайте (pageCount ()). not.tobe ('1 страница')
- .toContain – используется для проверки, содержит ли массив элемент
- .tomatch – используется для проверки спичек Regex
Полный список партнеров
.быть против .toequal
Различие между .tobe А .Товальные методы состоит в том, что .tobe проверяет строгое равенство (работает для примитивных типов, таких как строки и цифры), тогда как «Toequal рекурсивно проверяет каждое поле объекта или массива» (спасибо Jest Docs !).
В заключение…
Новый бесконечный шумит Дэвидом Фостер Уоллес был назван для линии от Гамлета Шекспира, и это факт, что я определенно знал до сегодняшнего дня.
Увы, бедный йорик! Я знал его, Горацио: парень Бесконечная шутка Самым превосходным фантазией: он, понес меня на спину тысячу раз; И теперь, насколько абореред в моем воображении это! – Прямой устье из дома Гамлета
.быть И нет. Тебе – это методы для шума. Стечение обстоятельств? Думаю, нет.
Быть, или не быть, вот и вопрос – Также прямой усть
Я надеюсь, что мой блог вдохновлял вас узнать, как писать тесты с помощью шума и, возможно, даже прочитайте Inifinite Whest или, по крайней мере, прочитайте один абзац бесконечной страницы Wikipedia, как я.
Источники
- Jest Docs.
- Тестовый автоматизационный университет – Учебное пособие в шуму (действительно полезно)
- NPM запустить тест висит
- Бесконечная шутка на Википедии
Оригинал: “https://dev.to/iris/infinite-jest-tobe-or-not-tobe-1nk9”