0

我正在使用 NUnit 和 Visual Studio Express Edition 2010 for C#,现在,通常测试工作正常。但是每当我尝试使用 Massive.cs 时,它是访问数据库的开源api 。测试仅从该文件失败。现在,如果我运行应用程序,api 工作正常。我创建了一个不同的库文件来访问数据库。

我真的不明白这个错误。对象引用未设置为对象只是给出错误。但如果我运行代码,它工作正常。我正在使用动态关键字,如上面的 api 链接所示。这会对 NUnit 造成问题吗?

有没有其他方法可以在这种类型的场景中进行测试?

这是代码的更多详细信息,

测试课是这样的

dynamic item = new Item();
item.Insert(new { Name = "Maggi", Description = "Its 2 Min Nuddles", IsDelete = false });

var items = item.All();

Assert.AreEqual("Maggi", items.FirstOrDefault().Name);

现在,我在这里进行了测试。这会产生如图所示的错误, 使用 NUnit 进行测试时出现错误

现在如果我在控制台应用程序中运行代码,那么代码工作正常,代码片段如下

dynamic item = new Item();
        item.Insert(new { Name = "Maggi", Description = "Its 2 Min Nuddles", IsDelete = false });


        var result = item.All();

        foreach (var i in result)
        {
            Console.WriteLine(i.Name + i.Description);
        }

        Console.Read();

在这里,代码可以正常工作,而 NUnit 测试也不能正常工作。请看看并帮助我。如果我需要任何进一步的信息,请告诉我。

4

2 回答 2

0

最可能的解释是您没有在测试项目中设置连接字符串。
如果您使用的是 NUnit,只需将其放入app.config您的测试项目中。

于 2011-11-22T01:36:52.047 回答
0

已解决... NUnit 测试存在问题。它没有完美地获取配置文件。所以,我做了两个改变。我在项目设置中所做的更改。

第一个更改是将 Application Base 更改为 bin\debug,只需将 application base 设置为 this,然后将 .config 文件配置为 .exe.config 即可,一切正常运行。:)

于 2011-12-02T15:56:27.973 回答