Laravel 7:assertSee() 和 html 实体

问题描述 投票:0回答:2

在我的测试中,我使用assertSee()。

    $message = '<h1>Header</h1>';
    $response = $this->get($url);
    $response->assertStatus(200);
    $response->assertSee($message);

问题是,当

$message
包含 html 实体时,断言就会变为 false。

我知道有一个

e()
助手可以在 $message 中转换 html 实体,但现在我需要相反的。

我该怎么做?

phpunit laravel-7
2个回答
11
投票

->assertSee(...) 在 Laravel 7 中更改了,现在它有第二个参数

$response->assertSee($value, $escaped = true);

只需将其设置为

false
即可。

文档说:

此断言将自动转义给定的字符串,除非您传递第二个参数 false:


0
投票

我也遇到了同样的问题。 所以我不得不到处寻找。对我来说,assertSee 没有帮助。然后我查看了 laravel 文档。 就我而言,我必须查看表中的值。

根据laravel 文档你可以使用

$value = $browser->text('selectors'); //css selectors here
$this->assertSame('Expected HTML data', $value);
© www.soinside.com 2019 - 2024. All rights reserved.