【问题标题】:Running Unit Tests Fakes Framework on TFS build server | Error在 TFS 构建服务器上运行单元测试 Fakes Framework |错误
【发布时间】:2013-10-13 20:54:44
【问题描述】:

使用 Microsoft Fakes Framework,我正在尝试在我们的 TFS 构建服务器上运行我的单元测试。本地它工作正常,但它在构建服务器上不起作用:

似乎没有将正确的文件复制到输出目录。我应该复制哪些文件(除了单元测试和测试的项目类)?例如,我应该复制 Fakes dll 吗?

【问题讨论】:

  • 显然,如果没有 Fakes 替换 dll,您的测试将无法运行。它们具有您用来伪造/存根/垫片的类型。所以是的,我想你也需要复制它们。
  • 我检查了正在复制的文件:UnitTests/Fakes/Bll.Fakes、UnitTests/Fakes/DataAccess.fakes。甚至 UnitTests/bin/Debug/* 也被复制(我认为不需要)。我还应该复制什么?缺少哪些文件?
  • 您在构建日志中究竟看到了什么异常?类似... Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotSupportedException: System.IO.File ?

标签: c# unit-testing tfs microsoft-fakes build-server


【解决方案1】:

您需要在构建服务器上安装 Visual Studio Premium / Ultimate。

安装后,您应该能够执行构建。我相当确定它会在构建过程中复制正确的文件,就像在本地一样。

【讨论】:

  • 目前我们没有在构建服务器上使用 Visual Studio Ultimate。我们刚刚将 .Net 4.0 的 msbuild 文件夹 复制到了构建服务器。有什么方法可以在构建服务器上运行 Fakes,而无需安装 Visual Studio Ultimate?例如,是否有需要复制的文件?
  • 您需要安装 Visual Studio 才能获得所需的功能。不需要许可证。如果您的组织中有一个最终许可证,则可以使用 Ultimate。
  • 我还想如果你安装了 vs2012 update 2 并且使用高级版本你可以运行假货。 blogs.msdn.com/b/bharry/archive/2013/01/30/…
  • 您能否详细说明为什么必须在构建服务器上安装 VS?如果可能的话,我想避免这种情况。我想知道是否只需要复制一组文件才能使其工作,例如一些用于 Web 项目的 .targets 文件等。
  • 你真的应该使用@标签,因为我没有收到你的回复通知。我回到这个问题,将其链接到与在我们的构建机器上安装 VS 相关的工作项。我们希望在构建机器中避免使用 VS,因为它是额外的开销,而且我们的硬件非常有限。单独需要的硬盘空间是一种浪费,因为到目前为止,我们已经设法使一切正常工作,而无需直接使用 VS。我认为这将是一个类似的情况,因为只需复制几个文件就会产生正确的行为。
猜你喜欢
  • 1970-01-01
  • 2013-10-16
  • 1970-01-01
  • 2011-10-05
  • 2021-11-10
  • 2015-03-17
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
相关资源
最近更新 更多