使用ExampleTest进行测试-预期输出不匹配

时间:2019-02-15 23:01:20

标签: go

<html>
   <body id='test'>
      <table>
         <tr>
            <td>1</td>
         </tr>
         <tr>
            <td>2</td>
         </tr>
      </table>
      <table>
         <tr>
            <td>3</td>
         </tr>
         <tr>
            <td>4</td>
         </tr>
      </table>
   </body>
</html>

我正在尝试使用Example方法编写测试。我创建了一个带有标头(内容类型:application / json)的http请求,查询参数t = 1,方法类型POST和URL本地主机。

got:和want:中的输出看起来相同,还检查了空格字符。在这里无法弄清这两者之间的区别。

无法弄清楚我在这里想念什么。

1 
2 
3
4

1 个答案:

答案 0 :(得分:2)

我认为正在发生的事情是HTTP标头具有\r\n for its line break。这就是httputil.DumpRequest返回的内容。但是您可能正在不使用\r\n进行换行的机器上编辑此文件,因此区别就在于此。

成功比较的暴力手段是:

fmt.Println(strings.Replace(string(str), "\r", "", -1))

从HTTP转储的字符串中删除“ \ r”,如果您的编辑器仅使用“ \ n”来破坏预期的输出,它将成功比较。

更优雅的解决方案取决于测试环境的具体情况。