单元测试问题c#object getProperties

时间:2017-07-12 06:02:06

标签: c# unit-testing nunit

我有一个获取对象属性名的c#类。

public class MyClass
{
    public int Id { get; set; }
    public int Name { get; set; }
}

public class Parser<T>
{
    public IEnumerable<string> Parse(T item)
    {
        const BindingFlags flag = BindingFlags.Instance | BindingFlags.Public;

        return item.GetType().GetProperties(flag).Select(p => p.Name);
    }
}

我想测试这个methot。

    [Test]
    public void TestMethod()
    {
        var parser = new Parser<MyClass>();
        var names = parser.Parse(new MyClass()).ToArray();

        Assert.IsTrue(names[1] == "Name");
    }

但是这会引发异常 System.NullReferenceException 。但是我把断点看到names数组有两个项目。

Assert.IsTrue(names[1] == "Name");行抛出异常。但是有两个项目。

  

测试&#39; M:ParsProejct.TestsClass.TestMethod。&#39;失败:对象引用   没有设置为对象的实例。

0 个答案:

没有答案
相关问题