Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与phpUnit的HTML模式比较_Php_Unit Testing_Phpunit - Fatal编程技术网

与phpUnit的HTML模式比较

与phpUnit的HTML模式比较,php,unit-testing,phpunit,Php,Unit Testing,Phpunit,我有两种HTML模式: 一个是$expected\u html和 另一个是实际输出$actual\u out(由smarty模板生成) 现在我想对这两个字符串执行断言。我不能使用assertEquals,因为两种图案的间距不同 有谁能为我提供解决方案/帮助吗?这完全取决于具体的区别 让it工作的一些指导原则: 试着通过对它们进行一些操作使它们相等&而不是使用 assertEquals 例如: //替换换行符和制表符以匹配预期换行符和制表符 $actual\u out=str\u repl

我有两种HTML模式:

  • 一个是
    $expected\u html
  • 另一个是实际输出
    $actual\u out
    (由smarty模板生成)
现在我想对这两个字符串执行断言。我不能使用assertEquals,因为两种图案的间距不同


有谁能为我提供解决方案/帮助吗?

这完全取决于具体的区别

让it工作的一些指导原则:

  • 试着通过对它们进行一些操作使它们相等&而不是使用
    assertEquals

    例如:

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

$actual\u out=str\u replace(“\n”,”$actual\u out)

$actual\u out=str\u replace(“\t”,”$actual\u out)

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

谢谢Rikesh,实际上问题是实际图案包含不规则的空白和制表符。而且不可能创建相同的预期图案。。。现在我只对输出字符串形式的关键部分进行断言,但我想用一个新的方法来消除断言的数量。您必须替换这些空格,使它们相等。我可以理解这是一项乏味的工作,尽管除了上面提到的几点,我看不到任何其他简单的解决方法。将其作为XML(
assertXmlStringEqualsXmlString()
)进行比较,或者创建两个DomDocuments并将其转换回HTML可能会奏效-请参阅