【问题标题】:Running Silverlight unit tests using StatLight and TFS 2010 Build使用 StatLight 和 TFS 2010 Build 运行 Silverlight 单元测试
【发布时间】:2011-11-12 08:12:48
【问题描述】:

根据这篇文章,我目前正在设计一个可以运行 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 活动发布测试结果,该活动用于运行我们的正常测试,因为我希望尽可能避免自定义活动,但我不知道这是否可能。

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

【问题讨论】:

标签: silverlight-4.0 tfsbuild statlight


【解决方案1】:

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

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

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

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

希望对你有帮助,

文森特 THAVONEKHAM。

【讨论】:

    【解决方案2】:

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

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

    如果您获取代码并打开解决方案,您可能会通过查看-重做Publisher2010.cs 中的操作来找到实现目标的方法。

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

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

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

    【讨论】:

    • 感谢您,我查看了发布者代码,这确实是我想要做的,所以希望我能够在自定义活动中将它移植到我们的构建过程中.
    猜你喜欢
    • 2011-01-31
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2012-07-16
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    相关资源
    最近更新 更多