1

在 Visual Studio 中运行某些测试时,我将 NUnit 迁移到 Team System 时出现此错误:

测试方法 XXX.XXX.Data.Tests.Path.Method> 引发异常:System.Configuration.ConfigurationException:节名无效。请求的配置文件“C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\vstesthost.exe.Config”或文件“c:\WINDOWS\Microsoft.NET\Framework\”中不存在“dataConfiguration”部分v2.0.50727\Config\machine.config'。确保“enterpriseLibrary.configurationSections”配置部分存在于其中一个文件中,并且“dataConfiguration”部分已定义。

  1. 我们假设它是企业库,
    “配置部分”需要什么才能让我的测试工作?
  2. 通常在团队系统中哪里可以找到配置文件?
  3. 另外为什么应用程序仍在工作而测试却没有?
4

1 回答 1

2

听起来好像找不到 app.config/web.config 文件。

使用 MSTest,它不会在通常的“输出”目录中进行测试。因此,“复制到输出目录”(等)标志什么也不做。您需要告诉它要将哪些文件部署到测试文件夹;有两种方法:

  • 编辑 testrunco​​nfig 文件并将文件添加到部署列表
  • [DeploymentItem]属性添加到您的测试中,告诉它需要哪些文件

我不太喜欢这两种方法——事实上,我倾向于使用 TestDriven.NET 来运行测试,它按照您期望的方式运行。

当然,TestDriven.NET 也会在 IDE 中运行您的 NUnit 测试,包括代码覆盖率等 - 这会引出一个问题:如果现有测试可以在 IDE 中运行,为什么还要更改它们?显而易见的答案是“我们已经为 MSTest 付费,而 TestDriven.NET 不是免费的”......

于 2009-04-07T08:15:09.947 回答