0

現在、クラスメソッドの単体テストを作成していますが、アクセサーは常に例外をスローします。

次のテスト方法を検討してください。

namespace GSVMTestCase
{    
    [TestClass]
    public class GatewaySettingsViewModelTest
    {
        [TestMethod]
        [DeploymentItem("SmartGatewayUABL.dll")]
        public void AddGatewayTest1()
        {
            GatewaySettingsViewModel_Accessor target = new GatewaySettingsViewModel_Accessor(); // error occurs here
            target.GatewayIPAddress = null;
            target.AddGateway();
            Assert.AreEqual(TextStrings.TxtErrInvalidIP, target.ErrorMessage);
        }}}
}

常に例外をスローします:

オブジェクト参照がオブジェクト インスタンスに設定されていません

4

3 に答える 3

0

コンストラクターの呼び出し中に問題の解決策が得られましたが、構成ファイルがありませんでした。そのため、app.config を追加すると解決されます。貴重なレビューをありがとうございました

于 2012-07-25T13:16:05.920 に答える
0

ここで行っていることの命名スキームを考えると、このアセンブリをテストするためにいくつかの策略を採用しているように見えます。この "SmartGatewayUABL.dll" がアセンブリである場合テスト アセンブリへのプロジェクト参照を追加し、展開アイテムなしでテストします。

それがあなたのアセンブリでない場合、なぜそれからクラスをテストしようとしているのか疑問に思うでしょう。テストを永続化して維持したい場合、これは一般的に望ましくありません。実験しているだけの場合は、ここでの実験を最後に検討し、別のことを試すことをお勧めします.

于 2012-07-25T13:16:58.897 に答える