0

C# 単体テストを作成しました (VS テスト ツールを使用)。とりわけ、次のような例外をチェックするテストがあります。

Assert.AreEqual("Object reference not set to an instance of an object.", e.Message);

単体テスト ファイルを開いてコンテキスト メニューの [テストの実行] をクリックすると、すべて正常に動作します。Visual Studio のテスト エクスプローラーを使用し、そこで [テストの実行] をクリックすると、例外のメッセージが異なるという例外が発生します。実際、私がチェックしているものと同じですが、別の言語です。どちらの場合も実行されるテストは同じで、言語の変更などはなく、単純なロジック テストのみです。私のOSは英語で、Visual Studioも同様です。私は別のソリューションで同様のテストを行っており、すべて正常に動作します。このソリューションと、私が単体テストを作成しているプロジェクトの 1 つは、この外国語のシステムを持つ同僚によって作成されました。しかし、そのような設定はどこにも見つかりません。誰かがこれらがどこにあるのか考えていますか? テストを常に英語で実行するにはどうすればよいですか?

4

3 に答える 3

0

特定の例外でスローを使用しないのはなぜですか? 文字列メッセージをチェックするのは本当に悪いです。私の意見では、 IsInstanceOfType を使用するよりもさらにクリーンです

var testDelegate = () => MyService.Method(params);
Assert.Throws<NullException>(testDelegate);
于 2017-01-12T20:57:59.813 に答える