phpspec / prophecy-phpunit
在PHPUnit测试用例中集成Prophecy模拟库
v2.2.0
2024-03-01 08:33 UTC
Requires
- php: ^7.3 || ^8
- phpspec/prophecy: ^1.18
- phpunit/phpunit: ^9.1 || ^10.1 || ^11.0
README
Prophecy PhpUnit将Prophecy模拟库与PHPUnit集成,以提供更简单的测试用例模拟。
安装
先决条件
Prophecy PhpUnit需要PHP 7.3或更高版本。Prophecy PhpUnit需要PHPUnit 9.1或更高版本。较旧的PHPUnit版本已自行提供Prophecy集成。
通过Composer安装
composer require --dev phpspec/prophecy-phpunit
您可以在其官方网页上了解更多关于Composer的信息。
如何使用
特性 ProphecyTrait
提供了一个名为 prophesize($classOrInterface = null)
的方法来使用Prophecy。有关Prophecy双工的用法,请参阅Prophecy文档。
以下是一个使用示例
<?php namespace App; use PHPUnit\Framework\TestCase; use Prophecy\PhpUnit\ProphecyTrait; use App\Security\Hasher; use App\Entity\User; class UserTest extends TestCase { use ProphecyTrait; public function testPasswordHashing() { $hasher = $this->prophesize(Hasher::class); $user = new User($hasher->reveal()); $hasher->generateHash($user, 'qwerty')->willReturn('hashed_pass'); $user->setPassword('qwerty'); $this->assertEquals('hashed_pass', $user->getPassword()); } }