【发布时间】:2017-02-14 20:51:03
【问题描述】:
我有一堆类常量,我想在我的 PHPUnit 测试中检查它们的值。
当我运行此测试时,我收到以下错误:
1) CRMPiccoBundle\Tests\Services\MailerTest::testConstantValues 与 数据集“帐户验证”('ACCOUNT_VERIFICATION', 'CRMPicco.co.uk 帐户验证')错误:访问未声明 静态属性:CRMPiccoBundle\Services\Mailer::$constant
这是我的测试及其对应的dataProvider:
/**
* @dataProvider constantValueDataProvider
*/
public function testConstantValues(string $constant, $expectedValue)
{
$mailer = new Mailer();
$this->assertEquals($expectedValue, $mailer::$constant);
}
public function constantValueDataProvider()
{
return [
'Account Verification' => [
'ACCOUNT_VERIFICATION',
'CRMPicco.co.uk Account Email Verification'
]];
}
这是在Mailer 中声明常量的方式:
const ACCOUNT_VERIFICATION = 'CRMPicco.co.uk Account Email Verification';
如何检查这个常量的值?
如果我在测试中执行$mailer::ACCOUNT_VERIFICATION,它会输出预期值,但我想使用 dataProvider 动态执行此操作。
【问题讨论】:
-
你能在
Mailer类中显示上述常量的声明吗?
标签: php unit-testing testing phpunit php-7