Sinon: Deep Equal не должен быть точным равным для ошибки

Созданный на 9 мар. 2017  ·  3Комментарии  ·  Источник: sinonjs/sinon

Привет, Синон! Спасибо, что предоставили отличную библиотеку с новыми классными функциями, добавленными в предварительную версию. Я использовал pre для недавно представленного API (я собирался написать расширение сам и обнаружил, что код копается в исходном коде), но выпуск .6 нарушил наш большой набор тестов.

  • Версия Sinon: 2.0.0-pre.6
  • Среда: macOS с Node6 +
  • Пример URL:
  • Другие библиотеки, которые вы используете:
    Мокко, Бабель

Чего вы ожидали?
Я не ожидал, что утверждение .deep.equals завершится ошибкой, когда был передан другой, но "равный" экземпляр ошибки.
Что на самом деле происходит
Для любого подкласса Error deep equals делает точное equals . https://github.com/sinonjs/sinon/blob/master/lib/sinon/util/core/deep-equal.js#L54 -L56

Medium Help wanted stale

Самый полезный комментарий

Всем привет!

Это действительно что-то простое для решения, и я готов устроить для этого пиар. Однако я хотел бы предложить другой подход, отличный от простого исправления этого предложения if .
В Chai у нас есть модуль под названием deep-eql который выполняет глубокую проверку равенства. Он был тщательно протестирован, настроен на производительность и отлично работает на ядре Chai.

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

Кроме того, он по-прежнему позволяет нам использовать метод use из-за аргумента comparator принимает эта библиотека .

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

Все 3 Комментарий

Всем привет!

Это действительно что-то простое для решения, и я готов устроить для этого пиар. Однако я хотел бы предложить другой подход, отличный от простого исправления этого предложения if .
В Chai у нас есть модуль под названием deep-eql который выполняет глубокую проверку равенства. Он был тщательно протестирован, настроен на производительность и отлично работает на ядре Chai.

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

Кроме того, он по-прежнему позволяет нам использовать метод use из-за аргумента comparator принимает эта библиотека .

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

@lucasfcosta Предлагаемое решение мне нравится. Было бы немного сложно уговорить match чтобы он стал вариантом компаратора ... но похоже, что вам нравятся проблемы;)

Я бы хотел увидеть PR, который уменьшит размер кодовой базы.

Эта проблема была автоматически помечена как устаревшая, поскольку в последнее время не было активности. Он будет закрыт, если больше не будет активности. Спасибо за ваш вклад.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги