問題タブ [pex]

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.

0 投票する
1 に答える
200 参照

c# - DateTime.Now または File.Exists を使用して Pex に関数を処理させるにはどうすればよいですか?

私は Pex を初めて使用し、DateTime.Now や File.Exists() などのマシン固有のルーチンで使用する方法がわかりません。

タイムゾーンのオフセットでカットオフ DateTime を表示する機能があります。

Pex Explorer によって生成される Pex パラメーター化されたテストがあります。

ただし、これにより、マシン固有のテストが生成されます。マシンが非 GMT タイムゾーンにある場合は失敗します。

この状況で何ができますか?DateTime.Now や File.Exists() などの関数を参照する関数の探索をスキップするように指示できますか。または、何らかの形で常に特定のタイムゾーンを使用するように指示できますか?

0 投票する
1 に答える
206 参照

pex - ファクトリ メソッドの Pex レポート PexAssumeFailedException

みんな!私は単体テストの初心者です。現在、Visual Studio 2010 と Pex を使用してプロジェクトをテストしていますが、次の問題が発生しました。

Pex Exploration を実行すると、Pex から「Root.Reports.Type1FontData のインスタンスを作成できませんでした」と表示され、Pex が報告する詳細メッセージは次のとおりです。


--- 例外の詳細

Microsoft.Pex.Framework.Exceptions.PexAssumeFailedException: セグメント インデックス 0 の FontDataTest.sGetTextLine(FontData, String, Double, Int32&, TextSplitMode) には Type1FontData 型のオブジェクトが必要です (いくつかのオブジェクト #0); ExSig#1による拡張配列



1. 抽象クラスのメソッド 'FontData.sGetTextLine()' をテストしたいだけです。コードを以下に示します。

}

2. calss 'Type1FontData' は、抽象クラス 'FontData' に基づく具象クラスであり、Type1FontData のコードは次のとおりです。

}

3. Pex は、PUT クラス メソッド 'FontDataTest.sGetTextLine()' を生成するのに役立ちます。

}

4. Pex Exploration を実行した後、Pex は「Root.Reports.Type1FontData の作成方法を推測してください」というメッセージを表示します。次に、[Edit Factory] ​​をクリックすると、Pex によってクラス Type1FontDataFactory が作成されます。コードは次のとおりです。

}

5. Pex Exploration を再度実行すると、「Root.Reports.Type1FontData のインスタンスを作成できませんでした」という PexAssumeFailedException が発生しました。

6. Type1FontDataFactory.Create() の動的コード カバレッジ サマリーは、ユーザー コードまたはテストが次のコードのみをカバーしていることを示しています。

私の質問は、この問題を処理する方法です。助けてください!
皆さん、ありがとうございました !

0 投票する
1 に答える
362 参照

moles - Moles スタブを生成する

私は Pex と Moles を初めて使用し、パラメーター化された単体テストを利用したいと考えています。コンストラクター インジェクションを使用しており、パラメーターのモル スタブを作成したいと考えています。

私が読んだドキュメントによると、Moles は SIUserRepository のリポジトリのスタブ タイプを生成します。しかし、スタブを生成する方法がわかりません。誰でも例を提供できますか。ありがとう

0 投票する
1 に答える
989 参照

nunit - モル/ペックスおよびNUnitを備えたNCover1.5.8

以下を連携させるのに問題があります。

  • NCover 1.5.8(TestDriven.NETに同梱されているバージョン)
  • NUnit 2.5(TestDriven.NETに付属のバージョン)
  • モルとペックス

.NET4.0PexおよびMolesテストライブラリでWindows7x64を使用しています

私は、この同様の質問(MolesをMSTestで動作させることについて)および関連するリンクからのヒントに従おうとしました。この回答のおかげで、MolesとNUnitを連携させることができましたが、NCoverと連携させることはできません。

これがバッチファイルです。

そして、これは私が得る出力です:

エラーコード1が返され、カバレッジファイルにはすべてのテスト名が含まれていますが、カバレッジはゼロです。

0 投票する
1 に答える
349 参照

pex - Pex を使用したプライベート メソッドのテスト

プロジェクトで Pex と Moles を使用したい.Pex を使用して Private メソッドをテストしたい.

Pex を使用してプライベート メソッドをテストした人はいますか?

直接テストできない場合、Private メソッドをテストする回避策はありますか?

0 投票する
0 に答える
144 参照

moles - Pex と Moles を使用した Moled データセット

以下のメソッドをテストしたい.データセットを返し、テーブルコレクションをチェックしています。

Pex を使用した以下の単体テストを作成しました。

今、私は DataTablecollection エラーのために MoledNotImplemented を取得しています。データセットのテーブルコレクションをどのようにモールディングできますか?

0 投票する
1 に答える
366 参照

unit-testing - 具体的なオブジェクトが依存関係である場合にモックオブジェクトを使用するようにPEXに指示し、テストケースを自動生成するにはどうすればよいですか?

提供されたフレームワークでクライアント側のコンポーネントを作成していますが、コンポーネントを単体テストできる必要があります。コンポーネントはMVP(Model-View-Presenter)パターンを使用して記述されています。PEXを使用して、プレゼンターの単体テストを自動的に生成したいと思います。

以下はプレゼンターのコードです。

私が抱えている問題は、オブジェクトSystemClientがフレームワークによって提供されており、ファクトリクラスを使用してのインスタンスを作成できないことですSystemClient。したがって、PEXを実行して単体テストを自動的に生成する場合、無視するようにPEXに指示する必要があります。その結果、行がテストされないSystemClientため、メソッドDeleteRecordが完全にカバーされません。Client.SystemName != "Ruby"

私はモックオブジェクトMSystemClient(molesを使用して作成)を持っているので、構成のどこかでPEXに使用するように指示しMSystemClient、このメソッドを完全にカバーするテストケースをPEXに自動的に生成させることができるかどうか疑問に思います。

0 投票する
1 に答える
192 参照

moles - pex で GUID を Pex 引数として渡す方法

PexArgument 属性を使用して GUID を Pex 引数として渡すにはどうすればよいですか?

0 投票する
2 に答える
1065 参照

pex - Pexで入力パラメータのセットを定義するにはどうすればよいですか?

数百のフィールドを持つMyClassがあるとします。

MyClassのオブジェクトを入力パラメーターとして使用すると、Pexは、考えられるすべての組み合わせを生成しようとすると、単純に窒息します(単純なテストでも、数千のパスに遭遇します)。

[PexMethod] void MytestMethod(MyClass param){...}

Pexに、スマートにしてテストするすべての可能な組み合わせを生成するのではなく、MyClassの事前定義されたオブジェクトのセットのみを使用するように指示するにはどうすればよいですか?

言い換えると、上記のコードでparamの可能な状態のリストを手動で指定し、それを使用するようにPexに指示したいと思います。

乾杯

0 投票する
1 に答える
224 参照

visual-studio - Moles v0.94 テストで構成ファイルを無視する

私は Moles v0.91 を少なくとも 1 年間使用しており、毎日何百ものテストを作成して実行しています。v0.94 にアップグレードした後、Moles ホストで実行されるテストは構成ファイルにアクセスできなくなります。これらは、数日前には問題なく動作していたテストです。これらの各テストのエラー メッセージは、たとえば、接続文字列を見つけるために構成にアクセスできなかったことを明確に示しています。(はい、良い単体テストがデータベースにアクセスするべきではないことはわかっています。それに集中しないでください)。

同じプロジェクトで、構成にアクセスするが Moles ホストで実行しないテストは完全に機能します。

これを解決する方法について何か提案はありますか? Visual Studio 2008 と 2010 の両方で、現在のサービス パックが適用され、.Net 3.5 と .Net 4.0 の両方で発生します。

詳細: これは、Moles ホストを実行しないテスト用に、同じプロジェクト内で適切に読み取られる app.config を含むテスト プロジェクトです。データベースとログに Enterprise Library を使用していますが、どちらも構成ファイルの読み取りに失敗しています。