引数の制約に関するランダムな問題

ThomasWeiss

ユニットテストでFakeItEasyを使用すると、非常に奇妙な問題が発生します...

モックが呼び出されたかどうかを表明し、メソッドのパラメーターの1つに次のような制約を指定します。

A.CallTo(() => fakeStorageClient.StoreAsync("commands", A<CommandEnvelope<FakeCommand>>.Ignored, false)).MustHaveHappened(Repeated.Exactly.Once);

問題は、このアサーションが時々失敗することです。通常、すべてのテストを1回の実行(「すべて実行」)で実行すると失敗することに気付きましたが、この特定のテストをFact単独で実行した場合は失敗しませんお気づきのように、この方法はasync非同期関連の問題について考えていたのですが、すべての呼び出しは適切にawait編集されています。

アサーションの失敗の詳細を見ると、ログは次のとおりです。

Assertion failed for the following call:
Backend.Data.MessageStorage.IMessageStorageClient.StoreAsync("commands", <NULL>, False)
Expected to find it exactly once but found it #0 times among the calls:
1: Backend.Data.MessageStorage.IMessageStorageClient.StoreAsync(
      tableName: "commandStream",
      entity: Backend.Domain.Commands.CommandEnvelope`1[Backend.Domain.Tests.FakeCommand],
      streamMode: True)
2: Backend.Data.MessageStorage.IMessageStorageClient.StoreAsync(
      tableName: "commands",
      entity: Backend.Domain.Commands.CommandEnvelope`1[Backend.Domain.Tests.FakeCommand],
      streamMode: False)

ご覧のとおり、予期された呼び出しは発生しましたが(ケース#2)、何らかの理由で、FakeItEasyは2番目のパラメーターとしてNULL使用した呼び出しを予期していました

FakeItEasyがA<CommandEnvelope<FakeCommand>>.Ignored制約をNULLに評価する理由、さらに、それがたまにしか評価されない理由を誰かが理解するのを手伝ってくれることを願っています...

ブレアコンラッド

この問題は、最新のFakeItEasy2.0.0リリース候補で修正された問題476の兆候であることが判明しましたそのバージョンにアップグレードすると、シングルスレッドでテストを実行すると予想されるように、修正されました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ランダムな数学の問題を引き起こすJava関数を作成する方法。

分類Dev

小さなC#「ランダム文字列」関数をHaskellに変換する際の問題

分類Dev

JSXラムダ関数の問題に対応する

分類Dev

約束率制限関数の有効なテストケースの作成に関する問題

分類Dev

ラムダに関するCassandraコンパイルの問題

分類Dev

fminconの実数部と虚数部の分離に関する問題(制約付きMATLAB最適化)。それを正しくプログラムする方法は?

分類Dev

petlを使用するこのラムダ関数の何が問題になっていますか?

分類Dev

OCamlのラベル付き引数に関する問題

分類Dev

2つの引数を持つラムダ関数でマップされたこのSparkRDDの何が問題になっていますか?

分類Dev

プログラムでUIImageに制約を追加する際の問題| 迅速

分類Dev

AWSCLIがラムダ関数の問題を実行する

分類Dev

合計が特定の数になり、一連の一般的な制約に準拠するランダムな自然数を生成します

分類Dev

javax制約に関する検証の問題

分類Dev

UITableViewCell内の制約に関する問題

分類Dev

Swift4-iPhoneの制約に関する問題

分類Dev

application.propertiesのランダム値に関するSpringBootMavenビルドの問題

分類Dev

ラムダ関数の予約されていない同時実行を制限する

分類Dev

既知の目的関数(ランダム関数としましょう)がなく、既知の変数と制約があるgekkoオプティマイザーを使用するにはどうすればよいですか?

分類Dev

オブジェクトのランダム生成に関する問題

分類Dev

AWSラムダ関数でのライブラリの読み込みに関する問題-Python

分類Dev

CSHTMLファイルのラムダ式に関するランタイムコンパイラの問題

分類Dev

制約の引数を制約する

分類Dev

このラムダ関数の何が問題になっていますか?パンダとPythonデータフレーム

分類Dev

この(単純な)ラムダ関数の何が問題になっていますか?

分類Dev

端末でランダムな文字を引き起こすキーを特定する際の問題

分類Dev

FormDataファイルのアップロードに関するAWSラムダ関数の問題

分類Dev

単純な `replace()`の2番目の引数に関する問題

分類Dev

引数が型制約に準拠していないのに、なぜこのScala関数がコンパイルされるのですか?

分類Dev

サブクラス、予期しない引数、および未解決の参照に関する問題

Related 関連記事

  1. 1

    ランダムな数学の問題を引き起こすJava関数を作成する方法。

  2. 2

    小さなC#「ランダム文字列」関数をHaskellに変換する際の問題

  3. 3

    JSXラムダ関数の問題に対応する

  4. 4

    約束率制限関数の有効なテストケースの作成に関する問題

  5. 5

    ラムダに関するCassandraコンパイルの問題

  6. 6

    fminconの実数部と虚数部の分離に関する問題(制約付きMATLAB最適化)。それを正しくプログラムする方法は?

  7. 7

    petlを使用するこのラムダ関数の何が問題になっていますか?

  8. 8

    OCamlのラベル付き引数に関する問題

  9. 9

    2つの引数を持つラムダ関数でマップされたこのSparkRDDの何が問題になっていますか?

  10. 10

    プログラムでUIImageに制約を追加する際の問題| 迅速

  11. 11

    AWSCLIがラムダ関数の問題を実行する

  12. 12

    合計が特定の数になり、一連の一般的な制約に準拠するランダムな自然数を生成します

  13. 13

    javax制約に関する検証の問題

  14. 14

    UITableViewCell内の制約に関する問題

  15. 15

    Swift4-iPhoneの制約に関する問題

  16. 16

    application.propertiesのランダム値に関するSpringBootMavenビルドの問題

  17. 17

    ラムダ関数の予約されていない同時実行を制限する

  18. 18

    既知の目的関数(ランダム関数としましょう)がなく、既知の変数と制約があるgekkoオプティマイザーを使用するにはどうすればよいですか?

  19. 19

    オブジェクトのランダム生成に関する問題

  20. 20

    AWSラムダ関数でのライブラリの読み込みに関する問題-Python

  21. 21

    CSHTMLファイルのラムダ式に関するランタイムコンパイラの問題

  22. 22

    制約の引数を制約する

  23. 23

    このラムダ関数の何が問題になっていますか?パンダとPythonデータフレーム

  24. 24

    この(単純な)ラムダ関数の何が問題になっていますか?

  25. 25

    端末でランダムな文字を引き起こすキーを特定する際の問題

  26. 26

    FormDataファイルのアップロードに関するAWSラムダ関数の問題

  27. 27

    単純な `replace()`の2番目の引数に関する問題

  28. 28

    引数が型制約に準拠していないのに、なぜこのScala関数がコンパイルされるのですか?

  29. 29

    サブクラス、予期しない引数、および未解決の参照に関する問題

ホットタグ

アーカイブ