目录
ci-phpunit-test for CodeIgniter 3.x
ci-phpunit-test for CodeIgniter 3.x
An easier way to use PHPUnit with CodeIgniter 3.x.
- You don't have to modify CodeIgniter core files at all.
- You can write controller tests easily.
- Nothing is untestable, maybe.
- Well documented.
Requirements
- PHP 5.4.0 or later (5.6 or later is recommended)
- CodeIgniter 3.x
- PHPUnit 4.3 to 7.5 (4.8 or later is recommended)
- If you want to use PHPUnit 8 or later, please use ci-phpunit-test 2.x.
- If you use PHPUnit 6.0, please use ci-phpunit-test v0.14.0 or later.
- You can download old version of
phpunit.phar
from https://phar.phpunit.de/.
Optional
- NetBeans
- Go to Project Properties > Testing > PHPUnit, check Use Custom Test Suite checkbox, and select
application/tests/_ci_phpunit_test/TestSuiteProvider.php
.
- Go to Project Properties > Testing > PHPUnit, check Use Custom Test Suite checkbox, and select
Change Log
See Change Log.
Folder Structure
codeigniter/
├── application/
│ └── tests/
│ ├── _ci_phpunit_test/ ... don't touch! files ci-phpunit-test uses
│ ├── Bootstrap.php ... bootstrap file for PHPUnit
│ ├── DbTestCase.php ... DbTestCase class
│ ├── TestCase.php ... TestCase class
│ ├── controllers/ ... put your controller tests
│ ├── libraries/ ... put your library tests
│ ├── mocks/
│ │ └── libraries/ ... mock libraries
│ ├── models/ ... put your model tests
│ └── phpunit.xml ... config file for PHPUnit
└── vendor/
Installation
- Download latest
ci-phpunit-test
from https://github.com/kenjis/ci-phpunit-test/releases. - Unzip and copy
application/tests
folder into yourapplication
folder in CodeIgniter project.
That's it.
Installation via Composer
If you like Composer:
$ cd /path/to/codeigniter/
$ composer require kenjis/ci-phpunit-test --dev
And run install.php
:
$ php vendor/kenjis/ci-phpunit-test/install.php
- The above command always overwrites exisiting files.
- You must run it at CodeIgniter project root folder.
- You can specify your
application
andpublic
folder with option arguments, if you use custom folder paths.
$ php vendor/kenjis/ci-phpunit-test/install.php -a <application_dir> -p <public_dir>
Upgrading
- Download latest
ci-phpunit-test
from https://github.com/kenjis/ci-phpunit-test/releases. - Unzip and replace
application/tests/_ci_phpunit_test
folder. - Read Change Log.
Upgrading via Composer
If you like Composer:
$ cd /path/to/codeigniter/
$ composer update kenjis/ci-phpunit-test
$ php vendor/kenjis/ci-phpunit-test/update.php [-a <application_dir> -p <public_dir>]
Read Change Log.
参考链接(学术无国界,知识only for勤劳的人):
https://github.com/kenjis/ci-phpunit-test
https://github.com/kenjis/ci-phpunit-test/blob/master/docs/HowToWriteTests.md