1

MSpec アサーションからコンソールへの書き込みに問題があります。Nuget の v0.5.11 (署名なし) を使用しています。ここでは根本的なことは何もありませんが、機能していません。私が欠けているものを知っている人はいますか?

public class When_doing_stuff
{
    It should_out_stuff_to_console = () =>
    {
        var val1 = 1;
        var val2 = 2;
        (val1 + val2).ShouldEqual(3);
        Console.WriteLine(val2); 
    };
}
4

2 に答える 2

2

実際のコードでアサーションが失敗していると思われます。あなたは合格アサーションを投稿しました。これは問題なく印刷されるはずです (アレクサンダーと私は両方ともローカルで確認したため)。

ただし、失敗したアサーションは a をスローしSpecificationExceptionConsole行は実行されません。アサーションの前に印刷する必要があります。例えば

It should_out_stuff_to_console = () => 
{
    Console.WriteLine(val2);
    (val1 + val2).ShouldEqual(3);
}

mspecコマンドラインランナーからの出力

cmd> mspec-clr4.exe test.dll

Specs in test:

When doing stuff
Blah
» should out stuff to console

ただし、アサーションや一般的なテスト実行からデバッグ ステートメントをコンソールに出力することはお勧めしません。これは、テスト レポートを要約します (上記を参照)。

于 2013-02-20T19:09:08.530 に答える
0

実際、ここでの主張には何の問題もありません、アンソニー:-)

新しいクラスライブラリに投稿されたコードuser287079を貼り付けました。コンソールに何が出力されているかを確認してください。

>mspec-clr4 <somewhere>\bin\Debug\ClassLibrary1.dll

Specs in ClassLibrary1:

When doing stuff
2
» should out stuff to console


Contexts: 1, Specifications: 1, Time: 0.11 seconds
于 2013-02-20T20:10:50.253 に答える