教你一步一步写一个phpunit testcase(13)

发表于:2017-06-01来源:叶左左作者:叶左左点击数: 标签:PHPUnit
array ( $eventId, $eventName, $eventStartDate, $eventEndDate, $eventAttendeeFull ) ); return $eventsData; } 在数据提供者的基础上进行对报名人数限制的测试: public function testAtte
array( $eventId, $eventName, $eventStartDate, $eventEndDate, $eventAttendeeFull ) ); return $eventsData; }

在数据提供者的基础上进行对报名人数限制的测试:

    public function testAttendeeLimitReserve($eventId, $eventName, $eventStartDate, $eventEndDate, $eventAttendLimit) {
        // 测试报名人数限制
        $event      = new \PHPUnitEventDemo\Event($eventId, $eventName, $eventStartDate, $eventEndDate, $eventAttendLimit);
        $userNumber = 6;

        // 建立不同使用者报名
        for ($userCount = 1; $userCount < $userNumber; $userCount++) {
            $userId    = $userCount;
            $userName  = 'User ' . $userId;
            $userEmail = 'user' . $userId . '@zoco.space';
            $user      = new \PHPUnitEventDemo\User($userId, $userName, $userEmail);

            $reservedResult = $event->reserve($user);

            // 报名人數是否超过
            if ($userCount > $eventAttendLimit) {
                // 无法报名
                $this->assertFalse($reservedResult);
            } else {
                $this->assertTrue($reservedResult);
            }
        }
    }

Fixtures

Fixture能协助建立测试时需要用到的测试环境,对象的建立,在测试完后,把测试环境,对象析构掉,还原到初始化前的状态。

原文转自:http://www.jianshu.com/p/ba6829a6f3ec