Nunit “单元测试”;对象引用未设置为实例";在努尼特

Nunit “单元测试”;对象引用未设置为实例";在努尼特,nunit,unit-testing,Nunit,Unit Testing,我有一个ASP.Net项目和Nunitasp framework用于单元测试,我在account.aspx.cs文件中有一个对象,当我尝试测试对象(NugetplatformModel)值时,我得到“对象引用未设置为实例”错误, 我的账户页面代码如下所示 public partial class Account : System.Web.UI.Page { public NugetPlatformModel NugetPlatformModels; public string

我有一个ASP.Net项目和Nunitasp framework用于单元测试,我在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);

    }
}

下面给出了我的测试用例代码

 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中访问变量有问题..请帮助我..

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

如果您将帐户的所有代码都放在帖子中,这将非常有用。

引发NullReferenceException的位置(即哪一行)?如果没有这些信息,帮助你会困难得多。AssertEquals(“success”,acccountPage.result);AssertEquals(“应该有许可证”,true,acccountPage.NugetPlatformModels.IsHavingLicense);这两行在nunit测试中出现异常,感谢您的回复。。