我想使用NUnit测试ASP.NET应用程序,但从NUnit GUI运行时,似乎WebConfigurationManager.ConnectionStrings集合为空。

你能告诉我如何初始化这个集合(可能在[TestFixture]的[SetUp]函数中)吗?我应该复制Web.config吗?

谢谢!

有帮助吗?

解决方案

如果您的单元测试程序集名为Company.Component.Tests.dll,那么只需确保Company.Component.Tests.dll.config存在正确的连接字符串。

此外,将连接提供程序类与配置分离可能是一个好主意,这样您就可以灵活地进行持久化(即:从* .config切换到其他类型)并更容易进行测试。

另请查看“ NUnit如何查找配置文件

其他提示

NUnit .config文件位置取决于您创建NUnit项目文件的方式

NUnit测试所在的.config文件比这里建议的其他帖子稍微复杂一些。在NUnit GUI项目/编辑对话框中有此设置。默认值都取决于您创建NUnit项目文件的方式。

当您打开NUnit GUI并选择文件/打开然后选择.dll文件时,将设置一个新项目,其中包含用于查找与同一目录中的dll同名的配置文件的设置。因此,如果您加载 \ bin \ debug \ MyTests.dll ,默认情况下NUnit会查找 \ bin \ Debug \ MyTests.dll.config 。唯一的问题是,当您创建发布版本时,您需要创建一个单独的NUnit项目。

如果您通过选择File / NewProject创建了NUnit项目,则默认设置是查找与NUnit项目同名的配置文件。因此,如果您创建 \ MyNUnitProject.nunit ,NUnit默认会查找 \ MyNUnitProject.config

您可能已经使用Visual Studio创建 \ App.config 文件并将其粘贴到测试dll的源文件夹中。当你修改你的测试项目时,它会被复制到 \ bin \ Debug \ MyTests.dll.config \ bin \ Release \ MyTests.dll.config ,具体取决于你的配置选择了。如果您已经在NUnit中直接打开了MyTest.dll,这将正常工作,但是如果您创建了一个新的NUnit项目,则会遇到麻烦,因为默认情况下它不会查找这些文件。

要解决此问题,您需要在NUnit GUI中打开“项目/编辑”对话框,并检查是否有两个Configurations Debug&发布以匹配您的.Net项目。完成此操作后,您可以选择Debug Configuration并将ApplicationBase设置为 bin \ Debug \ ,并将配置文件名设置为 MyTests.dll.config 。对发布配置执行相同的操作,然后离开。

您可以将app.config用于库(我假设您的测试所在的位置)并将它们放在那里。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top