【发布时间】:2021-09-10 01:20:03
【问题描述】:
我想测试这个由我的 PHP/Symfony 项目生成的非常简单的页面
<div>Simple ! Tranquille ! Excellent !</div>
(是法语,所以需要在感叹号前面加&nbsp;硬空格。)
我想到了一个同样简单的测试,例如
$this->assertSelectorTextContains('div', 'Simple ! Tranquille ! Excellent !');
会成功,但我失败了。
进一步调查表明
$texte = $crawler->filter("div")->first();
$this->assertEquals($texte->text(), "Simple ! Tranquille ! Excellent !");
返回
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'Simple ! Tranquille ! Excellent !'
+'Simple ! Tranquille ! Excellent !'
那么,我如何帮助assertSelectorTextContains()(更一般地说,PHPUnit)了解两个字符串实际上是相同的? (或者至少是等价的?)
【问题讨论】:
-
仅供参考:IIRC assertSelectorTextContains 断言来自 Symfony(不是 Phpunit),正如您已经发现的那样,文本没有 HTML 实体。文本的编码可能是 UTF-8。
标签: php symfony phpunit character-reference