答案 0 :(得分:0)
最好在响应正文上执行断言。毕竟,Flash消息不过是div中的文本。 Flash成功输出的示例:
<div class="message success" onclick="this.classList.add('collapse')">Entity saved</div>
对于任何成功或错误消息的可能断言如下:
$this->assertResponseContains('<div class="message success"');
$this->assertResponseContains('<div class="message error"');
或者您可以复制整个预期的Flash输出。
答案 1 :(得分:0)
从CakePHP 3.7开始,您可以使用for (let i = 0; i < oldMessage.cleanContent.length; i += 2000) {
const cont = oldMessage.cleanContent.substring(i, Math.min(oldMessage.cleanContent.length, i + 2000));
embed.addField("Old Message", cont);
}
for (let i = 0; i < newMessage.cleanContent.length; i += 2000) {
const cont = newMessage.cleanContent.substring(i, Math.min(newMessage.cleanContent.length, i + 2000));
embed.addField("New Message", cont);
}
和其他一些帮助程序,其中有一些examples in the manual
对于您的情况,您的测试代码可能如下所示:
assertFlashMessage