ReSharper が Machine.仕様テストを認識しない
質問
私が作成した Machine.仕様の「テスト」を ReSharper に表示させるのに問題があります。
仕様は mSpec の ConsoleRunner で実行されます。ReSharper で「単体テストを実行」しようとすると、次のメッセージが表示されます。「ファイルにテストは見つかりません。」仕様にはテストマーカーが表示されません。
ReSharper /bin/ フォルダーにフォルダーを作成し、そこに適切な .dll を置きました。mSpec プラグインが ReSharper に表示されます。
何が足りないでしょうか?
また、違いがあれば、私は xUnit.NET を使用しています。
解決
ReSharper ランナーは、ネストされたコンテキスト クラスを考慮しません。コンテキスト クラスをネストする代わりに、次のようにします。
namespace SomeNamespace
{
public class Specs
{
public class when_something_happens
{
Because of = () => {};
It should_do_something = () => {};
}
}
}
ネストされていないコンテキストを作成します。つまり、名前空間内のルートクラス:
namespace SomeNamespace
{
public class when_something_happens
{
Because of = () => {};
It should_do_something = () => {};
}
}
すべての条件が満たされる場合、ReSharper の緑と黄色のテスト アイコンが表示されます。
- クラスは公開です
- クラスは抽象ではありません
- クラスがネストされていません
- 仕様フィールドが 1 つ以上あります (
It
)、または> = 1の動作フィールド(Behaves_like<>
)
他のヒント
のVisual StudioでMSpecの良い統合を持っており、ReSharperのここから入手可能であるインストーラを使用してMSpecをインストールするには:<のhref =「http://marcinobel.com/index.php/mspec-bdd-installer/」のrel = "nofollowをnoreferrer"> http://marcinobel.com/index.php/mspec-bdd-installer/ の
また、「ファイルが見つかりませんテスト」と同じ問題を抱えていました。しかし、私はテストエクスプローラウィンドウに私のテストを見て、そこからそれらを実行することができた可能性があります。