weirdan/prophecy-shim

兼容性适配器,允许使用 ProphecyTrait 与旧版本的 PHPUnit

2.0.2 2020-08-24 21:34 UTC

This package is auto-updated.

Last update: 2024-09-11 00:52:12 UTC


README

兼容性适配器,允许使用 ProphecyTrait 与旧版本的 PHPUnit。

动机

从 PHPUnit 9.1 开始,原本由 PHPUnit 本身提供的 Prophecy 集成已被弃用,并计划在 PHPUnit 10 中移除。现在有 phpspec/prophecy-phpunit 包提供集成,但如果你需要使用旧版本的 PHPUnit(如 7.x)运行测试,该怎么办呢?

此包通过为旧版本提供空的 ProphecyTrait 解决了这个问题,你可以将其导入到测试中。对于 PHPUnit 9.1+,它只需要 phpspec/prophecy-phpunit 提供的相同特性。因此,你可以将特性导入到测试中,无论 PHPUnit 版本如何,它都将正常工作。

安装

composer require --dev weirdan/prophecy-shim:'^1.0 || ^2.0'

用法

<?php

namespace Your\Tests;

use PHPUnit\Framework\TestCase;

// The following trait is provided either by the shim or by phpspec/prophecy-phpunit
use Prophecy\PhpUnit\ProphecyTrait;

class YourTest extends TestCase
{
    use ProphecyTrait;

    public function testSomething(): void
    {
        // this won't throw warnings anymore in PHPUnit 9.1+
        $objectProphecy = $this->prophesize(SomeClass::class);
    }
}