問題タブ [argument-matching]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - ペーストの「崩壊」の略語?
Rでコマンドを使用して、引数と、のpaste
両方を使用したかったのですが、省略したり、またはを省略したりすることはできません。しかし、他の機能については、部分的な省略形が機能します。sep
collapse
collapse
coll
collaps
例えば:
で始まる折りたたみ式の引数は他にありませんcoll
。これは、部分的な引数の一致を妨げる可能性があります。
paste
他の関数を呼び出す必要がないのに、呼び出すときに引数名全体を入力する必要があるのはなぜですか?
java - 複数の ArgumentMatchers を Mockito に渡す方法
2 つのカスタム ArgumentMatchers があり、モックが引数の値に基づいて異なる値を返すようにしたいと考えています。
例:
残念ながら、when() の 2 回目の呼び出しで例外が発生します。引数が両方の ArgumentMatchers に一致する場合、Mockito は true を返すか false を返すかがわからないため、これは理にかなっています。Mockitoでこれを行う方法はありますか? 次のような場合もあります。
r - R で複数の引数のセットを 1 つだけ要求する
R でフレームワークを開発中ですが、機能の 1 つを多目的にしたいと考えています。厳密に 1 つの引数セットを渡すように要求することで、これを実現したいと考えています。つまり、引数とORfoo
引数のいずれかを必要とする関数を書きたいと思います。どちらのセットも指定されていない場合、セットが不完全な場合、または両方のセットが指定されている場合は、エラーがスローされます。x
y
a
これを実現する 1 つの方法は、オプションの引数のみを使用し、その後にif
ステートメントを続けることです。これを以下に示します。しかし、私はこれをもっとエレガントにしたいと思っています。
関数は次のように動作する必要があります。
任意のサイズの任意の数の引数セットを処理できる一般化された回答も含めることに対する追加のクレジット。
余談: 上記の例ではmissing()
引数のデフォルトを使用せず、引数を使用していませんが、これは決して要件ではありません。目前の質問に対する適切な解決策を提供する限り、さまざまな形式を柔軟に使用できます。
kotlin - Kotlin の ArgumentMatcher
テストで ArgumentMatcher を使用しようとしています。私は次にします:
そして、次のエラーが表示されます: Type inference failed: Not enough information to infer parameter T in fun when
(p0: T!): OngoingStubbing!
KotlinでArgumentMatcherをどのように適切に記述しますか?
c# - nsubstitute Received メソッドの引数マッチャーで func デリゲートを照合する
クラスのモックインスタンスでメソッドが特定の回数呼び出されるかどうかを確認しようとしています。問題は、メソッドにfunc delegate
and があり、それが一致していないことです。
次のシナリオがあります。
上記のコードを に変更((ISomeService)service).CleanupMethod((CancellationToken)cancellationTokenSource.Token))
するとArg.Any<Func<IService, Task>()
、完全に実行されます。しかし、私のユースケースではそれをチェックしたくありません。
これまで、引数マッチャーが参照によってデリゲートと一致しているため、引数を正しく一致させることができないことをデバッグできました。しかし、引数を正しく一致させることができません。
また、デリゲートを呼び出そうとしましたが、成功しませんでした。私は何かが欠けていると思います。どんな助けでも大歓迎です。