代码之家  ›  专栏  ›  技术社区  ›  WestDiscGolf

在用vs2008编写的tfs2010 beta 2上的单元测试失败

  •  0
  • WestDiscGolf  · 技术社区  · 15 年前

    我刚刚在我们的服务器上安装了TFS 2010 Beta 2,它运行良好。我已经签入了我的解决方案,它是用Visual Studio 2008 SP1编写的,带有一个主类项目和单元测试项目。源代码管理与VS2008团队资源管理器的前向兼容性补丁配合工作正常,可以与TFS 2010配合使用。

    单元测试是使用MSTEST编写的。它都在本地工作并运行,测试通过,但是当我在服务器上设置了自动构建来构建解决方案时,主类项目会构建,但是单元测试失败。

    客户端:Windows 7 64位,Visual Studio 2008 SP1 服务器:Windows 2008 RS 64位,Team Foundation Server 2010 beta 2

    我尝试过不同的目标,不同的.NET版本。上一次尝试使用以下MSTEST版本C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTEST.exe时,出现以下错误

    TFB210610: 'MSTest.exe' returned an unexpected exit code. Expected '0'; actual '1'.
    

    这让我觉得测试失败了,但在本地却没有。

    其他人对此有什么问题吗?能给我指明正确的方向吗?

    干杯

    编辑

    我现在得到以下错误…

    C:\windows\microsoft.net\framework64\v3.5\microsoft.common.targets:无法解析此引用。找不到程序集“Microsoft.VisualStudio.QualityTools.UnitTestFramework,Version=9.0.0.0,Culture=Neutral,PublicKeyToken=b03f5f7f11d50a3a,ProcessorArchitecture=msil”。检查以确保磁盘上存在程序集。如果代码需要此引用,则可能会出现编译错误。

    2 回复  |  直到 15 年前
        1
  •  0
  •   Wim Coenen    15 年前

    mstest.exe 直接从服务器上的命令行执行以下操作:

    mstest.exe /testcontainer:myunittests.dll
    

    这应该能给你更多的关于问题的信息。

        2
  •  0
  •   WestDiscGolf    15 年前

    解决办法

    我已经设法使它发挥了相当大的作用。它涉及到不使用ExpectedException测试属性并将DLL的版本9注册到服务器上的GAC中。现在就可以了,希望它能在2010年的完整版本中得到解决,虽然我也可以完全升级tfs和vs,所以一切都会很好。

    A bit more detailed write up can be found here

    -)