【问题标题】:HTML pattern comparison with phpUnitHTML 模式与 phpUnit 的比较
【发布时间】:2013-01-03 07:53:25
【问题描述】:

我有两个 HTML 模式:

  • 一个是$expected_html
  • 另一个是实际输出$actual_out(由smarty模板生成)。

现在我想对这两个字符串执行断言。我不能使用 assertEquals 因为两种模式的间距不同。

谁能为此提供解决方案/帮助?

【问题讨论】:

标签: php unit-testing phpunit


【解决方案1】:

这完全取决于到底有什么区别。

一些指导方针让它发挥作用:

  • 尝试通过对它们进行一些操作来使两者相等,而不是使用 assertEquals.

    示例:

// 替换换行符和制表符以匹配预期的。

$actual_out = str_replace("\n", '',$actual_out);

$actual_out = str_replace("\t", '',$actual_out);

  • assertStringMatchesFormat() 获取特定匹配 格式(正则表达式)由您提供。
  • 或者您也可以尝试仅对输出的字符串形式的关键部分进行断言。

【讨论】:

  • 感谢 Rikesh,实际上的问题是实际模式包含不规则的空格和制表符。并且不可能创建相同的预期模式......现在我只对字符串表单的关键部分进行断言的输出,但我想用新的方式摆脱断言的数量..
  • 您必须替换那些空格以使它们相等。我可以理解这是一项乏味的工作,但除了我上面提到的几点之外,我看不到任何其他简单的出路。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
  • 1970-01-01
  • 2013-03-29
  • 2012-05-06
  • 2016-05-03
相关资源
最近更新 更多