1

いくつかのPEXサンプルを機能させようとしていますが、DateTime.TryParse / DateTime.Parseを使用すると、期待外れの結果が生成されます。Pexは興味深いパラメーターを考え出しません。これを到達可能な意味でラップすると、単に1MissedGoalと表示されます。

これは、DateTimeParse.TryParseがインストルメントされていないことについて受け取ったメッセージが原因であると思いますが、そもそもなぜインストルメントされていないのですか?ドキュメント「MicrosoftPexのパラメータ化されたテストパターン」で、何も興味深いことがないのに、例としてDateTimeが使用されているのはなぜですか。

4

1 に答える 1

1

Uninstrumentedは、Pexがコードを探索しておらず、そのパスを認識していないことを意味します。したがって、コード内のパスを探索する方法がわからないため、コード内のすべてのパスを探索することを保証できませんDateTime.TryParse。コードパスへの入力となる出力を生成するため。あなたがそれに従うことができることを願っています。

したがって、PexにDateTimeクラスのインストルメント化を許可すると、コード内のパスを計算し、いくつかの有用な探索を生成できるはずです。Microsoft Pex演習4を使用したパラメーター化された単体テストを見てください。これは、参照したドキュメントよりも少しわかりやすく説明されていることを願っています。これは潜在的にコストのかかる操作であるため(そして最終的には深いグラフになる可能性があるため)、Pexはユーザーが指示したオブジェクトのみを計測します。

Pex Explorationsの結果、Pexは、インストルメンテーションが必要なタイプに関するメッセージを情報バーに表示する必要があります。

于 2012-04-12T13:00:52.770 に答える