测试始终给出“对象引用未设置为对象的实例”

时间:2012-07-25 12:34:04

标签: c# wpf unit-testing exception-handling mstest

我目前正在为类方法编写单元测试,但是访问器总是抛出异常。

考虑以下测试方法:

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);
        }}}
}

总是抛出异常:

  

对象引用未设置为对象的实例

3 个答案:

答案 0 :(得分:0)

嘿,在调用构造函数的时候得到了问题的解决方案,配置文件丢失了。所以在添加app.config之后就得到了解决。感谢大家的有价值的评论

答案 1 :(得分:0)

考虑到你在这里所做的命名方案,看起来好像你正在使用一些技巧来测试这个程序集。如果这个“SmartGatewayUABL.dll”是你的程序集,那么我会向测试程序集添加一个项目引用,并在没有部署项目的情况下对其进行测试。

如果不是你的集会,那么你就不得不想知道为什么你要从中测试一个班级。如果您想要坚持并维持测试,这通常是不可取的。如果您只是在尝试,我建议您在此结束考虑您的实验并尝试其他方法。

答案 2 :(得分:0)

只是为了使其他人对此问题更加清楚。您的主项目可以从后端到前端获取数据,因为必须在其web.config文件中设置connectionString。因此,您需要在单元测试项目中创建一个名为* .config的应用程序配置文件,并将此connectionString粘贴到其中。