Sinon: Deep Equalは、エラーに対して完全に等しいべきではありません

作成日 2017年03月09日  ·  3コメント  ·  ソース: sinonjs/sinon

こんにちはシノン! プレリリースバージョンに追加されたクールな新機能を備えた素晴らしいライブラリを提供していただきありがとうございます。 私は新しく導入されたAPIにpreを使用していました(私は自分で拡張機能を書くつもりでしたが、ソースを掘り下げている間にコードを見つけました)が、.6リリースは私たちの大きなテストスイートを壊しました。

  • シノンバージョン:2.0.0-pre.6
  • 環境:Node6 +を搭載したmacOS
  • URLの例:
  • 使用している他のライブラリ:
    モカ、バベル

何が起こると思いましたか?
異なるが「等しい」エラーインスタンスが渡されたときに.deep.equalsアサーションが失敗するとは予想していませんでした
実際に何が起こるか
Errorサブクラスの場合、深いequalsは正確にequalsます。 https://github.com/sinonjs/sinon/blob/master/lib/sinon/util/core/deep-equal.js#L54 -L56

Medium Help wanted stale

最も参考になるコメント

皆さんこんにちは!

これは確かに解決するのが簡単なことであり、私はそれのためにPRをしたいと思っています。 ただし、そのif句を修正する以外に、別のアプローチを提案したいと思います。
Chaiには、深い等価性チェックを行うdeep-eqlというモジュールがあります。 広範囲にテストされ、パフォーマンスが微調整されており、Chaiのコアで正常に動作します。

同じライブラリを採用することで、将来的には同じコードベースに取り組み、ライブラリを改善し、それを使用するすべてのプロジェクトでより良いものにする予定です。

また、このライブラリが受け入れるcomparator引数によりuseメソッドを使用することもできます

採用したくない場合も問題ありませんが、この問題を解決する前に提案することを考えました。

全てのコメント3件

皆さんこんにちは!

これは確かに解決するのが簡単なことであり、私はそれのためにPRをしたいと思っています。 ただし、そのif句を修正する以外に、別のアプローチを提案したいと思います。
Chaiには、深い等価性チェックを行うdeep-eqlというモジュールがあります。 広範囲にテストされ、パフォーマンスが微調整されており、Chaiのコアで正常に動作します。

同じライブラリを採用することで、将来的には同じコードベースに取り組み、ライブラリを改善し、それを使用するすべてのプロジェクトでより良いものにする予定です。

また、このライブラリが受け入れるcomparator引数によりuseメソッドを使用することもできます

採用したくない場合も問題ありませんが、この問題を解決する前に提案することを考えました。

@lucasfcosta提案されたソリューションが好きです。 コンパレータオプションになるためにmatchを絡めるのは少し難しいかもしれません...しかし、あなたは挑戦が好きなようです;)

コードベースのサイズを縮小するPRを見たいです

この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。

このページは役に立ちましたか?
0 / 5 - 0 評価