Как издеваться над localStorage в модульных тестах JavaScript?

Существуют ли какие-либо библиотеки для имитации localStorage?

Я использовал Sinon.JS для большинства моих других насмешек над javascript и обнаружил, что это действительно здорово.

Мое первоначальное тестирование показывает, что localStorage отказывается назначаться в firefox (sadface ), поэтому мне, вероятно, понадобится какой-то хак вокруг этого :/

Мои варианты на данный момент (, как я вижу ), следующие:

  1. Создайте функции-обертки, которые используются во всем моем коде, и смоделируйте их
  2. Создать какой-то (может быть сложно )управление состоянием (снимок localStorage перед тестом, в очистке восстановить снимок )для localStorage.
  3. ??????

Что вы думаете об этих подходах и считаете ли вы, что есть другие лучшие способы сделать это? В любом случае я размещу получившуюся «библиотеку», которую я в конечном итоге создам, на github для открытости исходного кода.

90
задан Andreas Köberle 29 September 2017 в 07:04
поделиться