0

根据这篇文章,我目前正在设计一个可以运行 Silverlight 测试的 TFS 2010 构建过程:

http://pyxis-tech.com/blog/2011/01/24/how-to-run-silverlight-automated-tests-on-tfs-build-server/

我已经让 StatLight 以 MSTest 通用格式生成结果文件,这很棒。但是,我现在需要在构建中发布结果,以便失败的测试会破坏构建。

上面的文章提到使用自定义活动来解析 StatLight 输出和发布失败,但实际上并没有提供代码,所以我不知道在这里做什么。

理想情况下,我会使用标准 MSTest 活动发布测试结果,该活动用于运行我们的正常测试,因为我想尽可能避免自定义活动,但我不知道这是否可能。

任何人都可以在这方面提供一些帮助吗?除了上面的文章,我在网上找不到任何东西。

4

2 回答 2

2

我还按照 Pyxis 博客中的描述在 TFS 中进行了集成(我看到我的前同事仍然热衷于使用 TFS)。

它工作得很好,除了我意识到我有很多“类别”的 SLUnitTests : - 其中一些可以直接连接到 TFS, - 其他需要我做一些额外的工作(安全帐户,允许进程交互,...)。然后,我面临与您相同的问题:如何轻松停止错误签入(即避免编写额外的 C# 代码等...),并避免从 DropFolder 进行手动检查?

我在这里找到了一个替代解决方案,基于集成到 Visual Studio 2010 和 TFS 2010 的通用测试。因此更容易配置: http ://www.nielshebling.de/?p=167

另一种可能性是使用 CodePlex 项目,它为您提供模板: http ://statlightteambuild.codeplex.com

希望这可以帮助,

文森特·塔沃内卡姆。

于 2011-11-12T00:12:48.973 回答
1

Codeplex Project "NUnit for TeamBuild"中也有类似的实现。

这个项目是关于获取 NUnit 结果,使用 XSLT 将它们更改为 MSTest - 类似输出,然后将它们发布到 TFS 2010。

如果您获取代码并打开解决方案,您可能会通过查看 - 重做Publisher2010.cs.

重做这些操作将导致在每个构建的摘要视图中发布您的测试结果。

由于单元测试失败而使您的构建失败需要一些额外的处理,首先是检索它,然后在您检测到失败时降级您的构建。

如果 NUnit 的返回码不是“0”,则 NUnit 报告“失败”,因此我将第一步放在实现 NUnit 调用的 InvokeProcess 的“结果”中。
紧接着,我放置了一个“如果”来检查这个回报。如果它不同于“0”(所以一个或多个测试失败),我使用“SetBuildProperties”活动,所以我可以将“TestStatus”设置为BuildPhaseStatus.Failed

于 2011-09-05T12:42:58.973 回答