Рубрики
Без рубрики

Бесконечная шутка: tobe или not.tobe

Что такое шума? Jest – это структура тестирования JavaScript с открытым исходным кодом и используется большим количеством … Помечено тестированием, JavaScript, начинающими.

Что такое шума?

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, как я.

Источники

Оригинал: “https://dev.to/iris/infinite-jest-tobe-or-not-tobe-1nk9”