【问题标题】:TeamCity 8.1 MSTest fails every timeTeamCity 8.1 MSTest 每次都失败
【发布时间】:2018-04-15 20:49:41
【问题描述】:

我有 4 个单元测试在 TeamCity 中每次都失败。 该测试所做的是加载 2 个文本文件(嵌入资源,因此它不是路径问题)并比较它们,因此它们进行字符串比较。 Assert.AreEqual(str1, str2) 上的测试失败。 我试图将一个文件复制到另一个文件(它们是相同的)。 在 Visual Studio/Resharper 测试运行器中的所有其他机器上都会通过相同的测试。

测试是在 Visual Studio 2013 中使用 MSTest 框架完成的。在 .Net 版本 4.5 上,平台版本/任何 CPU 我尝试了 MSTest Runner 2013 和 VSTest Console 插件,得到了相同的结果。

【问题讨论】:

  • 可以分享一下实际测试吗?
  • 好的,我找到了问题。

标签: teamcity mstest


【解决方案1】:

问题出在我的字符串文件中。在 str1 中有“\n”作为 Environment.NewLine,但在 str2 中有“\r\n”作为 Environment.NewLine

【讨论】:

  • 这解释了发生了什么,但没有解释你如何修复它。那么你做了什么来解决这个问题?
【解决方案2】:

我的字符串比较也只在 Teamcity 中失败,我只是从两者中删除了换行符,如下所示:

 var expected = originalExpected.Replace("\r", string.Empty).Replace("\n", string.Empty);
 var actual = originalActual.Replace("\r", string.Empty).Replace("\n", string.Empty);
 Assert.AreEqual(expected, actual);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-23
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多