0

MSpec の達人、なぜこれが機能しないのですか?

public class with_command_line_args {
    protected const string ValidFilename = "ValidFilename.txt";
    protected const string InvalidFilename = "Invalid:Filename";
    protected static  string[] Args;
    protected static Exception Exception;
}

[Behaviors]
public class InvalidCommandlineArgsBehaviours
{
    protected static Exception Exception;
    It should_throw= () => Exception.ShouldNotBeNull();
    //It should_not_store_any_filename;
}

[Subject(typeof(Program), "Invalid command line parameter")]
public class when_invoked_with_no_parameters : with_command_line_args
{
    Establish context = () => Args = new string[] {};
    Because of = () => Exception = Catch.Exception(() => Program.ProcessCommandLineArgs(Args));
    Behaves_like<InvalidCommandlineArgsBehaviours> invalid_args;
}

これを ReSharper で実行すると、仕様は表示されますが実行されません (デバッグもできません):
ReSharper ユニット テスト ランナーの出力
不思議なことに、コメントアウトされた仕様が ReSharper 出力に表示されます。え?明らかに私は正しいことをしていません。教えてください!

4

2 に答える 2

0

これは私にとって絶え間ない問​​題です。Visual Studio を再起動すると解決する場合があります。動作の名前を変更することもあります。場合によっては、動作のテストをコメントアウトしてから、1 つずつ再度有効にするだけです! Machine.Specifications ReSharper プラグインを無駄にアップグレードしようとしました。

現在、何を試しても R# テスト ランナーで確実に実行できない動作が 1 つあります。

提供されたヘルプに本当に感謝します!

ReSharper 6.1.1000.82 Machine.Specifications 0.5.6 Visual Studio 2010

于 2012-05-31T13:12:15.053 に答える