一切......我的主题说明了一切。我正在尝试进行一个测试,实际上故意使“为 foreach() 提供的参数无效”发生。我试图让 PHPUnit 期待它,但是......不,我的测试仍然突然停止。原因是:“为 foreach() 提供的参数无效”,就在我告诉它它将发生的确切位置。
在我的文件顶部有:
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\Error\Error;
use PHPUnit\Framework\Error\Notice;
use PHPUnit\Framework\Error\Warning;
Run Code Online (Sandbox Code Playgroud)
我的班级声明开头为:
Class flirzelkwerpTest extends TestCase {
Run Code Online (Sandbox Code Playgroud)
以下是测试文件中的行:
// Let's try to add nothing.
// (It should throw an error because of "Invalid argument supplied for foreach()" in barabajagal.php.)
$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage('Invalid argument supplied for foreach()');
$resp = $barabajagal->add();
Run Code Online (Sandbox Code Playgroud)
错误发生在最后一行。前两行不应该告诉 PHPUnit,“嘿,小伙子,我预计这里会出现错误,这是您应该逐字得到的消息”?
我们使用 PHP 7.3.4 和 PHPUnit 8.3.2。