私は機能仕様(かなり低レベルが、それでも必要)で、次の期待があります:私はちょうどそれがありますことを確認したいが、私は」することができますので、2番目のクエリの値がファジーマッチでカスタムマッチャーで組み込みRSpecマッチャーを使用できますか?
expect(Addressable::URI.parse(current_url).query_values).to include(
'some => 'value',
'some_other' => String
)
注意をそれについてもっと具体的にしてください。
これをカスタムマッチャーに抽出したいと思います。私が使用を開始:
RSpec::Matchers.define :have_query_params do |expected_params|
match do |url|
Addressable::URI.parse(url).query_values == expected_params
end
end
が、これは私がそこに{'some_other' => String}
を渡すことはできませんを意味します。ファジーマッチを使用し続けるには、カスタムマッチャーでinclude
マッチャーを使用する必要があります。
# Provides the implementation for `include`.
# Not intended to be instantiated directly.
だから、私の質問は次のとおりです:はRSpecの中でサポートされるカスタムマッチャ内ビルトインマッチャーを使用している
しかし、RSpec::Matchers::BuiltIn
内で何がプライベートAPIとしてマークされ
、およびInclude
は、具体的documentedようです?どうすればいいですか?
メイクセンス。私はそれを試してみましょう。 – awendt
最初に、私はRSpecがURLが 'has_query_params? 'を実装しているというマッチャー名から推測しているが、インクルードを忘れていただけで問題が発生していた。私にpingを送ってくれてありがとう、私はその間に私のenvにいくつかの問題があった。 – awendt