【问题标题】:Unit-tests can't read from config files单元测试无法从配置文件中读取
【发布时间】:2013-10-11 06:02:21
【问题描述】:

我们有一个设置,我们使用 Visual Studio 2012 在本地开发环境中运行基于 nunit 的单元测试。

但是,我们观察到以下模式:

  1. 在 Visual Studio 完成后第一次运行单元测试时 启动时,从配置文件读取时测试失败。

  2. 当重新运行失败的单元测试时,他们可以从 配置文件就好了。

这确实有点烦人,所以我希望在这里得到一些帮助:-)。

我查看了Problem in reading connection string from App.Config when using NUnit 2.5.2,但是由于我们直接在 Visual Studio 中运行我们的单元测试,所以我们无法直接配置 NUnit。

【问题讨论】:

  • 您使用标准配置文件(即 aplicationname.exe.config)还是自定义配置文件 - 如果是,您如何找到文件的正确位置(您的应用程序可能已复制到单元测试的一些奇怪的地方!)?
  • 没有自定义配置文件。我的测试项目属于“类库”类型,其中添加了 app.config 文件。
  • 请注意,如果您的测试需要配置才能运行,它们不是单元测试。它们是集成测试。
  • @Raj haha​​ 是的 - 这是真的 :-)。不过,这并没有让我的问题变得不那么烦人。
  • 奇怪我正在使用 VS2012 测试运行程序,NUnit 2.6.2.12296,读取 App.config 文件。没有问题。每次都有效。是否能够使用最新版本的 NUnit 2.6.2.12296v 进行测试?另外,如果您使用 App.config 创建一个新的类库会发生什么情况,您是否遇到了同样的问题?

标签: c# visual-studio-2012 nunit integration-testing app-config


【解决方案1】:

NUnit 在错误的位置寻找配置文件,并且没有找到配置文件。看看

Assembly.GetExecutingAssembly().CodeBase 

ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap { ExeConfigFilename = configFile }, ConfigurationUserLevel.None); 

获取正确的位置。

【讨论】:

    猜你喜欢
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多