c#中测试数据集时出现错误

本文关键字:错误 数据集 测试 测试数据 | 更新日期: 2023-09-27 18:14:46

我用ASP编写了一个项目。NET和c#使用数据集连接到数据库。我想测试我的代码,当我创建一个单元测试我的类使用数据集,我得到以下错误:

Test method Test.CommodityRepositoryTest.GetCommoditiesTest threw exception: 
System.NullReferenceException: Object reference not set to an instance of an object.
at Terminal.Database.TransportCo.TransportCoTableAdapters.ConfigurationTableAdapter.InitConnection() in TransportCoDataSet.Designer.cs: line 12259
at Terminal.Database.TransportCo.TransportCoTableAdapters.ConfigurationTableAdapter.get_Connection() in TransportCoDataSet.Designer.cs: line 12144
at Terminal.Database.TransportCo.TransportCoTableAdapters.ConfigurationTableAdapter.InitAdapter() in TransportCoDataSet.Designer.cs: line 12227
at Terminal.Database.TransportCo.TransportCoTableAdapters.ConfigurationTableAdapter.get_Adapter() in TransportCoDataSet.Designer.cs: line 12133
at Terminal.Database.TransportCo.TransportCoTableAdapters.ConfigurationTableAdapter.GetData() in TransportCoDataSet.Designer.cs: line 12290

我必须提到我使用单例存储库,但它不会改变错误中的任何内容。

有人知道吗?

这是我的代码和测试:

public List<Commodity> GetCommodities()
    {         
        var commoditySet=new CommodityTableAdapter();
        var commoditys = commoditySet.GetCommdity().ToList();
        if (commoditys.Count() == 0)
            throw new UserInterfaceException("هیچ کالایی در سیستم ثبت نشده است");
        var commoditiesName = new List<Commodity>();
        for (int i = 0; i < commoditys.Count(); i++)
            commoditiesName.Add(ConvertcommodityRowTocommodity(commoditys[i]));
        return commoditiesName;
    }


   [TestMethod()]
    public void GetCommoditiesTest()
    {
        var target = CommodityRepository.GetInstance(); // TODO: Initialize to an appropriate value
        var expected = new List<Commodity> {new Commodity() {HSCode = "323423", ID = 19}}; // TODO: Initialize to an appropriate value
        List<Commodity> actual = target.GetCommodities();
        Assert.AreEqual(expected[0].ID, actual[0].ID);            
        //Assert.Inconclusive("Verify the correctness of this test method.");
    }

c#中测试数据集时出现错误

您的输入有歧义

var commoditys = commoditySet.GetCommdity().ToList();

使用显式类型代替

Object commoditys = commoditySet.GetCommdity().ToList();

,那么您将收到适当的调试错误。