phpunitgoodpractices / traits
此包已被 弃用,不再维护。未建议替代包。
高度意见化的PHPUnit良好实践执行器。
v1.9.2
2022-08-29 18:04 UTC
Requires
- php: ^5.5 || ^7.0 || ^8.0
- phpunit/phpunit: ^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ~8.5 || ~9.4
Requires (Dev)
- phpspec/prophecy: ^1.10
- phpunitgoodpractices/polyfill: ^1.1
- sanmai/phpunit-legacy-adapter: ^6.1 || ^8.0
README
由于PHPUnit本身和支撑它的静态代码分析器良好,此包不再需要。
PHPUnit良好实践
高度意见化的PHPUnit良好实践执行器。
可用特性
ExpectationViaCodeOverAnnotationTrait
期望异常应通过代码设置,而不是注释。
ExpectOverSetExceptionTrait
期望应直接通过setter设置。
IdentityOverEqualityTrait
应使用身份断言(===
)而非相等断言(==
)。
ProphecyOverMockObjectTrait
应使用Prophecy而非Mock对象。
ProphesizeOnlyInterfaceTrait
仅对(现有)接口创建Prophecy。
示例用法
<?php namespace FooProject\Tests; use PHPUnit\Framework\TestCase; use PHPUnitGoodPractices\Traits\ExpectationViaCodeOverAnnotationTrait; use PHPUnitGoodPractices\Traits\ExpectOverSetExceptionTrait; use PHPUnitGoodPractices\Traits\IdentityOverEqualityTrait; use PHPUnitGoodPractices\Traits\ProphecyOverMockObjectTrait; use PHPUnitGoodPractices\Traits\ProphesizeOnlyInterfaceTrait; final class FooTest extends TestCase { use ExpectationViaCodeOverAnnotationTrait; use ExpectOverSetExceptionTrait; use IdentityOverEqualityTrait; use ProphecyOverMockObjectTrait; use ProphesizeOnlyInterfaceTrait; public function testBar() { $this->assertEquals(123, 213); // will report non-strict assertion usage } }