所有测试均通过,但 TFS 将构建标记为部分成功

2024-02-15

我们当前的项目涉及构建一个由 .Net 应用程序控制的机器人盒子。我们与相当多的硬件库进行交互,并且我们确实设置了一个集成服务器,所有硬件都连接到它来运行夜间回归测试。

不幸的是,并非系统中的所有硬件库都能与 TFS 和 MSTest 很好地集成。

当我们使用某个库运行构建和测试时,我们会出现以下两种行为之一:

  • 所有测试均标记为已通过 TFS 但构建显示为 部分成功。
  • TFS 显示没有测试运行,但日志显示所有测试均已通过,构建标记为部分成功。

查看日志,在测试发布到 TFS 服务器后我们可以看到这两行, “处理 MSTest 异常” “MSTest.exe 返回了一个退出代码 0表明并非所有测试都通过”

真正让我困惑的是,从命令行使用 mstest 运行相同的测试不会显示此问题。此外,当从命令行运行时,MsTest当所有测试通过时返回 0,当出现错误时返回 1

所以我的问题是:

  1. 成功/失败时相应的 MSTest 返回代码是什么
  2. 除了Visual Studio中的登录之外,还有其他详细的登录功能吗?
  3. 有知道去哪里看的线索吗?

附加信息:我们确实注意到在 mstest 中使用(或不使用)“NoIsolation”标志时存在差异。使用该标志时,特定测试将通过,但其他测试将失败......我们仍在调查该测试。

Thanks

编辑:日志的相关部分: 30/30 测试通过

Summary
-------
Test Run Completed.
Passed  30
----------
Total   30
Results file:  C:\Builds\1\Galil Daily build\TestResults\D201364-W7$_D201364-W7 2011-07-05 10_23_33_Any CPU_Debug.trx
Test Settings: Default Test Settings
Waiting to publish...
Publishing results of test run D201364-W7$@D201364-W7 2011-07-05 10:23:33_Any CPU_Debug to http://mtlapp07:8080/tfs/DI_DEV...
..Publish completed successfully.
Final Property Values
Category = Galil
CommandLineArguments = /noisolation
Flavor = 
MaxPriority = -1
MinPriority = -1
PathToResultsFilesRoot = C:\Builds\1\Galil Daily build\TestResults
Platform = 
Publish = True
SearchPathRoot = C:\Builds\1\Galil Daily build\Binaries
TestConfigId = -1
TestConfigName = 
TestContainers = System.Linq.OrderedEnumerable`2[System.String,System.String]
TestLists = 
TestMetadata = 
TestNames = 
TestSettings = 
ToolPath = 
Version = -1
Final Property Values
Condition = False
Final Property Values
Condition = True

00:00
Handle MSTest Exception
 MSTest.exe returned an exit code of 0 indicating that not all tests passed.

00:00
If testException is NOT TestFailureException
Initial Property Values
Condition = False
Final Property Values
Condition = False

编辑2.0:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Galil;

namespace TestProject1
{
[TestClass]
public class UnitTest1
  {
    [TestMethod]
    public void TestMethod1()
    {
        Galil.Galil m_galil = new Galil.Galil();
        m_galil.address = "COM4 19200";
        string resp = m_galil.command("MTA=2.5;");
        Assert.AreEqual(":", resp);
        try
        {
            m_galil.address = "OFFLINE";
        }
        catch (Exception)
        {
        }
    }

    [TestMethod]
    public void TestMethod2()
    {
        Galil.Galil m_galil = new Galil.Galil();
        m_galil.address = "COM4 19200";
        string resp = m_galil.command("MTA=2.0;");
        Assert.AreEqual(":", resp);
        try
        {
            m_galil.address = "OFFLINE";
        }
        catch (Exception)
        {
        }
    }
  }
}

成功/失败时相应的 MSTest 返回代码是什么

退出代码 1 = 并非所有测试都通过

Example:

C:\程序 文件\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets(1377,5,1377,5): 警告:MSTest.exe 返回退出 代码 1 表示并非所有 测试通过了。

所有测试均通过

Example:

等待发布... 发布 试运行结果 Company_TFSBuild_SVC@BUILD-DEV 2011-07-01 13:15:46_任何CPU_发布至http://公司来源:8080/ http://company-source:8080/...
..发布成功完成。

除了Visual Studio中的登录之外,还有其他详细的登录功能吗?

您可以通过以下方式获取更详细的日志:

菜单栏 -> 工具 -> 选项... -> 项目和解决方案 -> MSBuild 项目构建输出详细信息

有知道去哪里看的线索吗?

需要查看您的日志文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

所有测试均通过,但 TFS 将构建标记为部分成功 的相关文章

  • 是一对一的关系不好的策略

    用户始终拥有一个钱包 一个钱包始终属于一位用户 由于我想分离与钱夹相关的属性 我创建了 Wallet 对象并能够跟踪钱交易 我创建了 public Wallet Entity
  • 如何在类文件中使用BackGroundWorker?

    我的program cs调用mdi父frmMain frmMain 然后根据用户操作打开不同的子表单 所有的处理逻辑都写在BusinessLogic cs中 frmMain 在加载时调用 BusinessLogic cs 的方法来初始填充数
  • MVVM ViewModel 很多属性

    我是 MVVM 新手 正在开发一个应用程序 我有一个包含很多属性的表单视图 大约 50 个 我不能将它们分离到用户控件中 因为这会破坏 mvvm 原则 我无法将它们分成模型 因为它们包含逻辑 属性更改 错误更改这些都不是 poco 类 并且
  • 替换字符串中的换行符 C#

    如何在 C 中替换字符串中的换行符 使用替换为Environment NewLine myString myString Replace System Environment NewLine replacement text add a l
  • 未分配给变量的类实例是否会过早被垃圾回收?

    我什至不知道我的问题是否有意义 这只是我不明白的事情 并且在我的脑海中旋转了一段时间 考虑有以下课程 public class MyClass private int myVar public void DoSomething Do som
  • System.Windows.Threading.Dispatcher.Invoke(System.Delegate, System.Object[]) 何时添加?

    使用我的应用程序的一些人似乎越来越 System MissingMethodException Method not found System Object System Windows Threading Dispatcher Invok
  • 当 C# 位于同一包含类中时,为什么以及如何允许访问类本身之外的私有变量?

    我不知道这个问题是否具有足够的描述性 但是这种行为为什么以及如何存在 public class Layer public string Name get set private IEnumerable children public IEn
  • 检测笔记本电脑盖子的关闭和打开

    是否可以检测笔记本电脑的盖子何时打开或关闭 从我读到的内容来看 这是不可能的 但 SO 之前已经帮助我完成了不可能的任务 我发现唯一可能朝着正确方向的事情是关于报告电源按钮所需的 IOCTL 的 MSDN 博客文章 https learn
  • ASP.NET 3.5 更新至 4.0 -> Sys.WebForms.PageRequestManager 未定义

    正如标题所示 我最近将包含 UpdatePanels 和类似 AJAX 技术的 ASP NET 3 5 应用程序更新为 ASP NET 4 0 不幸的是 UpdatePanel 不再起作用 整页回发使一切都变得糟糕 Web config 文
  • 如何在 C# 中从这个分层父子结构中查找任何项目

    如何从列表中查找任何项目 因为它是动态的 它可能位于列表的任何位置的父项或子项中 并且当子项计数为0时需要停止查找 下面是列表的模型和分层父子结构示例 例子 父级 gt 子级 gt 子级 gt 子级或父级 gt 子级 gt 子级 gt 子级
  • 将固定文档/XPS 打印为 PDF,而不显示文件保存对话框

    我有一个FixedDocument我允许用户在 WPF GUI 中预览 然后打印到纸张上 而不显示任何 Windows 打印对话框 如下所示 private void Print PrintQueueCollection printQueu
  • .NET 中的错误和异常有什么区别?

    您能向我解释一下错误和异常之间的区别吗 一个例外是利用语言语义的类 正如其他人所说 异常会中断堆栈的执行 直到被捕获 一个例外can用于传达错误 但更一般地用于传达发生了异常情况 另一方面 错误可能是异常的 也可能不是异常的 错误有以下几种
  • C++/CLI 中的 Lambda 表达式

    如何在 C CLI 中使用 lambda 表达式 在 C 中 lambda 实际上只是用于创建委托的语法糖 C CLI支持代表 http www functionx com cppcli classes Lesson15c htm 因此您仍
  • 如何在 IIS 中手动配置虚拟目录

    我正在尝试让外部 Visual Studio 解决方案在 Visual Studio Professional 2010 的本地副本中工作 当我打开该解决方案时 我看到一条错误消息 指出本地 IIS URL 尚未配置 我想创建一个虚拟目录吗
  • TFS 构建代理无法找到 npm

    在本地托管的 TFS 上 我在构建定义中使用 npm install 构建步骤 在我安装的代理机器上nodejs https nodejs org en 并且可以运行npm从命令行 当我尝试对构建进行排队时 我会弹出一条消息 找不到具有以下
  • 有没有办法将对象(及其属性)序列化为 xml?

    创建一个类 将其命名为 FormElement 该类应该具有一些属性 例如它们具有数据元素的元数据 名称 序列号 值 只是一个字符串等 该类具有验证应用程序块验证类类型的属性 我想将其序列化为xml并反序列化 验证类的所有属性 包括验证应用
  • 从 Microsoft Chart Control 单击数据标记获取鼠标单击事件

    我的应用程序中有一个 net 4 0 点图 我想捕获鼠标在数据标记上的点击 当用户单击特定点时 我想转到绑定表中数据来自的行 此功能是否内置于 net 图表控件中 编辑 我发现我可能实际上想要光标位置值 而不是要求用户单击特定的数据点 一旦
  • 打印“X”个字符数与“X”字符串长度的所有可能组合(暴力破解)

    我正在尝试编写一个单词组合生成器 我的意思是打印 X 个字符数与 X 字符串长度的所有可能组合 首先 我需要说的是 我在 StackOverFlow 中看到了一个关于这个问题的问题 其中有很多单词生成器的答案来执行此操作 在不同的语言上 但
  • SecurityAction.RequestMinimum 在 .Net 4.0 中已过时

    最近 我们的 Net 客户端库正在升级以针对 Net 4 0 进行编译 将目标框架更改为4 0后 应用程序出现一些编译错误 In AssemblyInfo cs assembly SecurityPermission SecurityAct
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c

随机推荐

  • 在 div 中垂直和水平居中文本

    我有一个 div 其中包含覆盖有文本的图形背景 我想使这个元素水平和垂直居中 但我无法让文本垂直居中 到目前为止 我有以下代码 div div img src buttonbackground png class stretch alt d
  • Visual Studio 2013 - Git - 获取远程分支

    我开始使用 Visual Studio 2013 和 Visual Studio Online 的内置 Git Team Explorer 工具 我非常熟悉如何通过 Git Shell 执行此操作 但似乎不知道如何通过 VS 2013 界面
  • 如何停止/退出 AWS Glue 作业 (PySpark)?

    我成功运行了一个 AWS Glue 作业 可以转换数据以进行预测 如果达到特定条件 我想停止处理并输出状态消息 正在运行 if specific condition is None s3 put object Body json str B
  • 应用程序被终止时是否可以收到 FCM 推送通知?

    我正在开发一个电子邮件应用程序 我希望用户在收到新电子邮件后立即收到推送通知 为此 我使用 FCM 我刚刚通过以下链接尝试使用 FCM 推送通知 为了测试 FCM 提供哪些功能 但我面临的问题是 当应用程序位于前台或后台时 设备会收到推送通
  • 为什么值类型创建在堆栈上而引用类型创建在堆上?

    编程语言书籍通常解释说 值类型是在堆栈上创建的 而引用类型是在堆上创建的 我的问题是为什么 我的问题是为什么 他们为什么要 解释 这一点 因为有时作者自己也不太了解 有时他们又懒得正确解释 事实却相当复杂 幸运的是 埃里克 利珀特 Eric
  • 使用 std::string 保存二进制数据以避免手动动态内存管理是否有效

    注意base64 decode in http www adp gmbh ch cpp common base64 html http www adp gmbh ch cpp common base64 html std string ba
  • 如何在rails下的webrick中设置access-control-allow-origin?

    我编写了一个小型 Rails 应用程序 通过 xmlhttprequests 向另一个站点提供内容 该站点将从另一个域运行 不可能让它们在同一服务器上运行 我了解我需要在 Rails 服务器上设置 access control allow
  • 结帐页面中的 Woocommerce 付款方式检测

    我正在使用 woocommerce 插件和 woocommerce 的 Braintree 扩展进行付款 我已启用 woocommerce Braintree 的卡和贝宝付款来结账 我试图弄清楚如何在用户实际结账和付款之前知道用户选择哪个支
  • 停止所有子元素的 jQuery 动画

    祝大家新年快乐 我只是想问是否有任何方法可以停止元素的所有子节点的 jquery 动画 我的意思是 如果我在文档中有一个下面的 html 结构 并且我已经对容器内的所有 div 应用了不同的动画 有些也在 queue false 等中 di
  • 哪种嵌入式消息传递系统 -> ActiveMQ 或 HornetQ [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望得到一些关于这两个消息系统中哪一个的一般性指示和意见 更容易管理 需要了解和避免的陷阱或神奇的东西
  • 如何在 JUnit 5 中参数化 beforeEach()?

    我使用 JUnit 5 作为我的测试运行程序 在设置方法中 我硬编码了 3 个参数 platformName platformVersion and deviceName 我有一个测试方法 应该测试各种组合 这意味着 当运行我的testLo
  • ffmpeg在特定时间混合音频

    我想将 2 个音频文件混合在一起 一个文件的长度为 2 分钟 另一个文件的长度为 10 秒 我希望两个文件混合 这样仍然可以听到两个声音 我希望这个 10 秒的剪辑恰好在 10 秒的 30 秒处出现 这样它就会在 40 秒处结束 我知道如何
  • R 中的 apply() 与用户定义函数

    我有一个数据框 其中有如此排列的选票和政党标签 dat lt data frame v1 c 25 0 70 v2 c 75 100 20 v3 c 0 0 10 l1 c pA pB l2 c pB pC pC l3 c pD 这样每一行
  • 在 Angular 2/材质的对话框模式中禁用自动对焦

    我正在使用 Angular Material 2 中的对话框 问题是 尤其是在 iPhone 或平板电脑中打开模态对话框时 我无法禁用自动对焦 在 iOS 中 它会自动聚焦对话框中的第一个输入字段 我尝试使用 tabindex 并在其他输入
  • 如何在 Django-Rest-Framework 序列化器中获取 Request.User?

    我已经尝试过类似的方法 但它不起作用 class PostSerializer serializers ModelSerializer class Meta model Post def save self user self contex
  • 通过基于事件的通信做出反应

    我正在尝试在 a 中使用 Reactvscode 网页视图面板 https code visualstudio com api extension guides webview 我认为自己是 React 中的一个不错的组件 但我习惯于通过
  • 如何识别应用程序在 Linux 上以深色主题运行?

    我开发了一个使用 qscintilla 作为文本编辑器的应用程序 我还实现了自定义词法分析器来突出显示特定于语言的关键字 到目前为止 突出显示关键字的样式已硬编码在我的应用程序中 并且在 Windows Linux Ubuntu Mac 上
  • iOS 应用内购买:沙盒产品 ID 无效

    在我解决这个问题之前 先介绍一下稍微奇怪的设置的背景 为客户开发一个应用程序 我们使用的 iTunes 开发者帐户与最终发布的用于开发和临时构建应用程序的帐户不同 具有游戏中心和 IAP 集成 显然 我们最终将不得不在最终发布帐户上复制我们
  • 在OpenGL中从矩阵获取位置、旋转和缩放

    目前我正在学习用于 Android 开发的 OpenGL ES 现在我正处于必须处理的时刻ModelMatrix和CameraMatrix但我对此有一些疑问 在 OpenGL 中 我们总是使用 4x4 矩阵 我理解为什么要这样做 但我不知道
  • 所有测试均通过,但 TFS 将构建标记为部分成功

    我们当前的项目涉及构建一个由 Net 应用程序控制的机器人盒子 我们与相当多的硬件库进行交互 并且我们确实设置了一个集成服务器 所有硬件都连接到它来运行夜间回归测试 不幸的是 并非系统中的所有硬件库都能与 TFS 和 MSTest 很好地集