fabstract / unit-test
基于 PHP Unit 的单元测试库
v1.0.1
2018-09-18 07:55 UTC
Requires
- php: ^7.1
- phpunit/phpunit: ^7.0
This package is not auto-updated.
Last update: 2024-09-29 05:42:10 UTC
README
UnitTest
基于 PHP Unit 的单元测试库。
安装
注意: 需要 PHP 7.1 或更高版本。
- 安装 composer。
- 运行
composer require fabstract/unit-test
。
用法
MethodTestBase
此类用于根据方法将单元测试分开。假设你有以下类
namespace MyPackage; class Calculator { public function add($a, $b) { return $a + $b; } public function multiply($a, $b) { return $a * $b; } }
现在为了测试这两个方法
- 创建一个目录,最好与类名相同。
- 在该目录内,为每个要测试的方法创建一个类。
- 将类命名为
methodName
+MethodTest
。例如AddMethodTest
。 - 从
MethodTestBase
继承。
注意: 你的方法应该是驼峰式命名。
它看起来是这样的
namespace MyPackage\Calculator; class AddMethodTest extends \Fabstract\Component\UnitTest\MethodTestBase { public function testOneAndOneEqualsTwo() { $arguments = [1, 1]; $result = $this->call(new Calculator(), $arguments); $this->assertEquals(2, $result); } public function testOneAndZeroEqualsOne() { $arguments = [1, 0]; $result = $this->call(new Calculator(), $arguments); $this->assertEquals(1, $result); } }
和
namespace MyPackage\Calculator; class MultiplyMethodTest extends \Fabstract\Component\UnitTest\MethodTestBase { public function testOneAndOneEqualsOne() { $arguments = [1, 1]; $result = $this->call(new Calculator(), $arguments); $this->assertEquals(1, $result); } public function testOneAndZeroEqualsZero() { $arguments = [1, 0]; $result = $this->call(new Calculator(), $arguments); $this->assertEquals(0, $result); } }
你可以添加尽可能多的单元测试,无需担心某个方法的测试会与其他方法的测试混淆。