单元测试"对象引用未设置为实例"在NUnit

时间:2015-03-05 10:06:20

标签: nunit unit-testing

我有一个ASP.Net项目和Nunitasp框架用于单元测试,我在account.aspx.cs文件中有一个对象,当我试图测试对象(NugetplatformModel)值时,我得到“对象引用未设置为实例“错误, 我的帐户页面代码如下所示

 public partial class Account : System.Web.UI.Page
{
    public NugetPlatformModel NugetPlatformModels;
    public string result = string.Empty;

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!WebSecurity.IsAuthenticated)
        {
            Response.Redirect("/login", true);
        }
        else
        {
            result = "success";
            NugetPlatformModels = new NugetPlatformModel();
        }

}

我的测试用例代码如下所示

        [Test]
    public void AccountPage_ValidCredential_AccessModel()
    {
        Browser.GetPage(domain + "account");
        string ExpectedPage = domain + "account";
        logon();
        Account acccountPage = new Account();
        AssertEquals("success", acccountPage.result);
        AssertEquals("should have license",true,acccountPage.NugetPlatformModels.IsHavingLicense);

    }

如何在变量后面访问和测试代码?当开始测试NUgetplatformmodel已经分配我已经通过调试检查了但是之后在nunit gui它显示空引用错误,我认为在testcase中访问变量有问题..请帮助我...

1 个答案:

答案 0 :(得分:2)

您的代码似乎不完整。从我在这里看到的,您的帐户需要运行Page_Load以填充结果和NugetPlatformModels。但是我没看到你的测试中是如何启动这种方法的。它是从Account的构造函数运行的吗?

如果您在帖子中放置了帐户的所有代码,那将会很有帮助。