fabstract/unit-test

基于 PHP Unit 的单元测试库

v1.0.1 2018-09-18 07:55 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:42:10 UTC


README

Total Downloads Latest Stable Version License

UnitTest

基于 PHP Unit 的单元测试库。

安装

注意: 需要 PHP 7.1 或更高版本。

  1. 安装 composer
  2. 运行 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);
        }
    }

你可以添加尽可能多的单元测试,无需担心某个方法的测试会与其他方法的测试混淆。