【问题标题】:Brief "run-down" on setting up Unit Tests in Visual Studio 2008在 Visual Studio 2008 中设置单元测试的简要“失败”
【发布时间】:2010-08-15 02:38:42
【问题描述】:

我强迫自己学习测试驱动开发,到目前为止我很享受。 Visual Studio 单元测试有一些怪癖让我很生气。一点背景资料,我的项目文件夹是这样的:

  • [根] BitFlex
  • BitFlex\代码
  • BitFlex\调试
  • BitFlex\文档
  • BitFlex\Release

当然,现在所有源代码都存储在代码文件夹中,并且在构建时,项目输出会根据当前配置进入调试或发布文件夹。现在对于我的单元测试,我已经设置好了,所以测试项目输出到:

  • BitFlex\Debug\单元测试\
  • BitFlex\Release\单元测试\

1) 在这一点上,一切都很好。这有两个问题,第一个是当我运行测试时找不到程序集,因为它给了我这个错误:

Error   AssignDefaultProgramTest    BitFlex.UnitTests   The test assembly 'D:\src\DCOM Productions\BitFlex\Code\TestResults\David Anderson_DCOMPRODUCTIONS 2009-07-31 23_21_00\Out\BitFlex.UnitTests.dll' cannot be loaded. Error details: Could not find file 'D:\src\DCOM Productions\BitFlex\Code\TestResults\David Anderson_DCOMPRODUCTIONS 2009-07-31 23_21_00\Out\BitFlex.UnitTests.dll'.

我似乎找不到有关此错误的信息,或者如何解决它,所以我想这就是这里每个人的经验都可以发挥作用的地方。

2) 我的另一个缺点是 Visual Studio 在我的代码目录中生成“测试结果”文件夹,我更愿意在任一输出配置中将其移动到我的单元测试文件夹中。有没有办法做到这一点,或者有更好的做法来使用我的文件夹层次结构设置组织良好的单元测试?

【问题讨论】:

    标签: visual-studio unit-testing


    【解决方案1】:

    默认情况下,MSTesting 框架在“隔离”位置而不是二进制目录中运行所有测试。 要解决此问题,您可以执行以下两项之一: 1. 转到测试配置文件并在部署下取消选中部署测试。 2. 查找外部文件时不要使用路径,而是使用部署属性或测试配置来部署所需的文件以及您的测试。

    【讨论】:

    • 好的,它通过提供部署路径找到了我的程序集。现在希望有人可以对移动那个 TestResults 文件夹有所了解..
    【解决方案2】:

    要使用 MSTest 进行 TDD,请关闭部署。您不应该将它用于“单元测试”。

    此外,VS 永远不会自动为您生成测试。生成的内容对于某些类型的功能测试可能很好,但通常是非常糟糕的单元测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多