gpt4 book ai didi

PHPSpec 在 PHP7 中捕获类型错误

转载 作者:可可西里 更新时间:2023-11-01 12:32:35 25 4
gpt4 key购买 nike

我想在 PHP7 中测试带有标量类型提示和严格类型的示例方法。当我不传递参数时,该方法应该抛出一个 TypeError。 PHPSpec 返回 fatal error :

Uncaught TypeError: Argument 1 passed to Example::test

<?php

class Example
{
public function test(string $name)
{
$this->name = $name;
}
}


class ExampleSpec extends ObjectBehavior
{
function it_is_initializable()
{
$this->shouldHaveType('Test\Example');
}

function it_check_test_method_when_not_pass_argument()
{
$this->shouldThrow('\TypeError')->during('test');
}
}

一开始我声明:declare(strict_types=1);

怎么了?如何测试抛出 TypeError

最佳答案

对我来说,如果我用这个注释单元测试就可以了:

/**
* @expectedException \TypeError
*/

那么我的测试是绿色的。

关于PHPSpec 在 PHP7 中捕获类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34568723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com