2011-08-05 9 views
5

私はF#プロジェクトでペックスを使用しようとしているが、私は、私はいくつかの助けいただければ幸いれているいくつかの問題に直面している:ペックスとF#2010アルティメット

  1. Visual StudioのPexのアドインが半分のために働いたが複雑なプロジェクトの探索には適していません。

  2. その後、Visual Studio 2010でPex Explorationを実行するたびに、!warning! [metadata] no explorations found after applying all filters; did you forget a [PexClass] or [PexMethod] attribute?というエラーメッセージが表示されます。探検をしているときにビジュアルスタジオでコマンドをコピー&ペーストして、いくつかの属性(sourceFilterなど)を削除し、それをコマンドコンソールから実行すると、いくつかのテストが生成されます。ビジュアルスタジオが無効なコマンドを生成する理由は何ですか?

  3. しばらくすると、Microsoft.Pex.Framework.dllが.Net参照リストから消え、ファイルパスを使用して手動で参照する必要があります。これ以上参照できないため、アンインストールする必要があります。/Pexを再インストールします。私はC#プロジェクトで作業するとき(A reference to C:\Program Files (x86)\Microsoft Moles\PublicAssemblie\Microsoft.Pex.Framework.dll could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

すべてのこれらの問題は発生しません。

問題1 2 3がアカデミック版で発生しました。

MSDNサブスクライバで使用できるバージョンを使用すると、Visual Studio(Visual Studio 2010 Ultimate NO SP1)内で動作することはありませんでした。しかし、それはコマンドプロンプトから機能しました。私はこのバージョンでは問題3に直面しませんでした。

誰かがVisual Studio内のF#で作業するPexを取得できましたか?はいの場合は、あなたはそれをやった方法を教えてくれますか?どのバージョン(VSとPex)を使用していますか?

+0

フォーラムをhttp://social.msdn.microsoft.com/Forums/en-US/pex/threads/ – GregC

+0

で試してみたいこれらのフォーラムで過去の質問と回答を検索できます。そのフォーラムはアーカイブされてお​​り、ここにStackOverflowで質問を投稿することに賛成です。参照:http://bit.ly/nj252B –

+0

ありがとう、私はPex.exeの周りにラッパーを作成し、私はF#プロジェクトとビジュアルスタジオの統合を使用しません: – Nicolas

答えて

1

私はFexでPexを実行して成功しました。私がダウンロードしたフォルダを信じていれば私が使ったバージョンは、Microsoft Pex and Moles 0.94.51006.1 Release(x86)の学術バージョンでした。インストールファイルの名前はpex.academic.x86.msiです。

あなたの前にそのバージョンがあるかどうかわかりません。

PexとF#は非常に良い組み合わせではなかったという私の試練からの私の印象は、Pexはnull入力のテストケースの作成を主張していました。 F#でnull値を生成することはそれほど一般的ではないので、それは通常私が興味を持っているシナリオではありません。それらを排除するために多くの仮定を追加するだけで、Pexはテストケースを生成できませんでした。確かに、私がテストしていた関数は複雑すぎる、私はまだPexの背後にあるアイデアが好きで、小さな/簡単なコードで再び試みるかもしれない。

VS 2010でPexとそのGUIを使用することは比較的うまく機能しましたが、不満はありませんでした。