[解決済み] オブジェクトをプロパティのサブセットで比較するためのjasmine matcherはありますか?
2023-03-23 22:57:53
質問
テスト中の動作に沿って拡張される可能性のあるオブジェクトがありますが、元のプロパティがまだそこにあることを確認したいのです。
var example = {'foo':'bar', 'bar':'baz'}
var result = extendingPipeline(example)
// {'foo':'bar', 'bar':'baz', 'extension': Function}
expect(result).toEqual(example) //fails miserably
という流れで、この場合にパスするようなマッチャーを用意したいですね。
expect(result).toInclude(example)
私はカスタムマッチャーを書くことができることを知っていますが、これは非常に一般的な問題なので、解決策がすでにあるはずだと思います。どこでそれを探せばいいのでしょうか?
どのように解決するのですか?
Jasmine 2.0
expect(result).toEqual(jasmine.objectContaining(example))
今回の修正から
https://github.com/pivotal/jasmine/commit/47884032ad255e8e15144dcd3545c3267795dee0
はネストしたオブジェクトに対しても有効で、 部分的にマッチさせたいオブジェクトをそれぞれ
jasmine.objectContaining()
簡単な例です。
it('can match nested partial objects', function ()
{
var joc = jasmine.objectContaining;
expect({
a: {x: 1, y: 2},
b: 'hi'
}).toEqual(joc({
a: joc({ x: 1})
}));
});
関連
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み】オブジェクトの配列のプロパティを合計するためにreduceを呼び出す方法は?
-
[解決済み】オブジェクトを含む配列をループして、そのプロパティにアクセスする方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] これは純関数ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] これは純関数ですか?
-
[解決済み] 変異を伴わないオブジェクトからの値の削除