【问题标题】:Nunit assert AreEqual dif because quotesNunit 断言 AreEqual 差异,因为引号
【发布时间】:2019-12-13 09:24:16
【问题描述】:

我正在为 Api Rest 编写自动化测试。

在正文中返回:

"New Current Account"

我进行以下验证:

Assert.AreEqual("New Current Account", response.Content);

但是由于 Nunit 返回失败,它不起作用:

Message: 
      Expected string length 19 but was 21. Strings differ at index 0.
      Expected: "New Current Account"
      But was:  ""New Current Account""
      -----------^

有人可以帮我吗?

【问题讨论】:

    标签: unit-testing nunit c#-3.0


    【解决方案1】:

    显然,返回的字符串实际上包含引号。

    引用它的正确方法是转义引号,这些引号是您用于预期值的字符串中数据的一部分。

    Assert.AreEqual("\"New Current Account\"", response.Content);

    这比使用逻辑修剪引号更可取,因为您将实际数据与预期数据进行比较,而无需修改任何一个。

    【讨论】:

    • 是的,我解决了这个 Assert.AreEqual("New Current Account", response.Content.Trim('"'));
    【解决方案2】:

    我解决了以下替代方案。

    Assert.AreEqual("New Current Account", response.Content.Trim('"'));
    

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 2012-08-15
      • 2011-04-23
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      相关资源
      最近更新 更多