我试图让我的 WATIN 测试在 TFS2008(持续集成)中作为夜间构建的一部分工作。
所有测试都在我的本地机器上运行良好(来自 VS2008),我的单元测试(非 watin)在本地以及 TFS 中运行良好。
为了说明我们在做什么,我做了一个简单的测试:
[TestMethod]
public void Watin()
{
//set up stuff
browser.GoTo("http://localhost/");
}
在 TFS 中运行测试时,这会导致以下错误:
无法加载 TestTypes\37e36796-fb51-4610-8d5c-e00ceaa68b9f,因为由于以下原因无法实例化 TIP:System.IO.FileNotFoundException:无法加载文件或程序集 'Microsoft.VisualStudio.QualityTools.Tips .WebLoadTest.Tip,Version=9.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。该系统找不到指定的文件。文件名:'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' at System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName)
在网上搜索类似问题时,我被引导相信这是我们正在使用的 TFS 版本的问题 - 但我不确定。我们使用的是 TFS 2008 Developer Edition / VS2008 Developer Edition
我们尝试下载TFS 套件试用版,其中包含有问题的 DLL。我们已将 WebLoadTest.Tip 文件复制到 TFS 服务器的全局程序集缓存中(只是想看看这是否能解决问题)。这确实导致错误消失,但不幸的是它产生了一个新错误:
MSBUILD:警告 MSB6006:“MSTest.exe”以代码 1 退出。
解决此问题的唯一方法是升级到套件版吗?这似乎有点严格。
任何帮助表示赞赏!
编辑: 我不明白的是它似乎需要 TFS 的 WebLoadTest 功能,即使我们没有明确调用它。相反,我们使用的是第三方框架 Watin。我认为 Watin 也没有任何 webloadtest 依赖项。