无法返回 @dataProvider PHPUnit 中的对象

wuj*_*ujt 5 php tdd phpunit testng-dataprovider

是否允许从@dataProviders测试方法返回对象?

public function iOsMessages()
{
    return [
        'update available'        => [1, new UpToDateMessage(), 'pl'],
    ];
}

/**
 * @test
 * @dataProvider iOsMessages
 */
public function success_create_message_for_ios(int $appVersion, MobileMessage $message, string $locale)
{
(...)
Run Code Online (Sandbox Code Playgroud)

错误:

为 Tests\Tests\Mobile\Classes\AppVersionTest::success_create_message_for_ios 指定的数据提供程序无效。找不到类“Mobile\Classes\Messages\UpToDateMessage”

MobileMessage是一个接口,导入是正确的。

Lou*_*ews 4

文档中:

数据提供程序方法必须是公共的,并且返回数组的数组或实现 Iterator 接口并为每个迭代步骤生成数​​组的对象。