Nunit: `TestCaseSource`ジェネレーターからの空の結果はテストに失敗するはずです

作成日 2020年06月03日  ·  3コメント  ·  ソース: nunit/nunit

[TestCaseSource(nameof(GeneratorMethod))]を使用する場合、ジェネレーターが入力を生成しない場合は、テストに失敗する(またはスキップ済みとしてマークする)のが理にかなっています。 少なくとも、テストに合格したことを示さないでください:/

最も参考になるコメント

考慮すべきいくつかのポイント...

  1. 複数のソースが存在する可能性があるため、説明が__each__ソースに適用されるのか、すべてのソースの集計結果に適用されるのかを明確にする必要があります。

  2. ソースは、データだけでなくテストを生成します。 テストが生成されない場合、失敗したりスキップしたりすることはありません。 遠い過去(V2)に、偽の失敗テストを生成しました。これは、コードが乱雑になり、ユーザーを混乱させる結果になりました。

  3. ケースのないテストメソッドは、コードのないメソッドに少し似ています。 また、テストのないフィクスチャのように。 私たちはそれらが通過したと見なします。

  4. テストを理論と呼ぶ場合、合格例がないと失敗します。

私は現在の動作を残すことに投票しますが、ケースが生成されない場合にユーザーに警告メッセージを要求する方法を提供します。

全てのコメント3件

メモリが機能する場合は、数年前のバグレポートにより、メモリが機能するのと同じように機能します。これにより、この場合はパスする必要があると確信しました。

😢

ソースに(現在)1つの項目を含むテストを作成しましたが、TDDサイクルの新しいテストであるため、失敗すると予想しましたが、合格したことがわかりました...そのため、障害のあるジェネレーターを追跡する必要がありました。

おそらく失敗は少し厳しいものです(私の好みですが、前号の記者には迷惑かもしれません)。 テストをスキップ済みとしてマークするのはどうですか?

考慮すべきいくつかのポイント...

  1. 複数のソースが存在する可能性があるため、説明が__each__ソースに適用されるのか、すべてのソースの集計結果に適用されるのかを明確にする必要があります。

  2. ソースは、データだけでなくテストを生成します。 テストが生成されない場合、失敗したりスキップしたりすることはありません。 遠い過去(V2)に、偽の失敗テストを生成しました。これは、コードが乱雑になり、ユーザーを混乱させる結果になりました。

  3. ケースのないテストメソッドは、コードのないメソッドに少し似ています。 また、テストのないフィクスチャのように。 私たちはそれらが通過したと見なします。

  4. テストを理論と呼ぶ場合、合格例がないと失敗します。

私は現在の動作を残すことに投票しますが、ケースが生成されない場合にユーザーに警告メッセージを要求する方法を提供します。

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