加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

检查类是否具有使用PHPUnit定义的常量的正确方法

发布时间:2020-12-13 21:58:52 所属栏目:PHP教程 来源:网络整理
导读:我试图找出最佳或正确的方法来检查一个类是否有一个使用 PHPUnit定义的常量. PHPUnit文档似乎没有涵盖这一点,这让我想知道我是否通过测试来做正确的事情 – 但它是我班级的一个重要特征. 我有以下课程: PurchaseManager.php /** * Message sent when a cour
我试图找出最佳或正确的方法来检查一个类是否有一个使用 PHPUnit定义的常量. PHPUnit文档似乎没有涵盖这一点,这让我想知道我是否通过测试来做正确的事情 – 但它是我班级的一个重要特征.

我有以下课程:

PurchaseManager.php

/**
 * Message sent when a course has been purchased
 */
const COURSE_PURCHASED_MESSAGE = 'coursePurchasedMessage';

…并且其部分测试类具有此测试:

PurchaseManagerTest.php

public function testCoursePurchasedMessageConstant()
{
    $pm = new PurchaseManager();
    $this->assertTrue(defined(get_class($pm) . '::COURSE_PURCHASED_MESSAGE'));
}

它是否正确?它通过了,但我只是想知道这是否准确和最佳实践.

我正在使用PHPUnit 5.0.8.

解决方法

我正在使用Reflection类来实现此目的.它有getConstants方法,它返回一个关联数组[< constant_name> => < constant_value>,…].

就像是:

public function testHasSiteExportedConstant()
{
    $mailer = new ReflectionClass(SiteExporter::class);
    $this->assertArrayHasKey('SITE_EXPORTED',$mailer->getConstants());
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读