- composer 引入phpunit
在需要引入phpunit的项目根目录下执行命令:composer require phpunit/phpunit
等待命令执行完毕之后,在当前目录下会生成两个文件(composer.json、composer.lock、vendor目录) - 编辑composer.json文件
- 创建Tests文件夹(测试用例都必须在改文件夹下,以ClassTest.php方式进行命名)
- 新建一个类Book
<?php /** * Created by PhpStorm. * User: stone * Date: 2019-06-20 * Time: 22:05 */ namespace PhpTest\Book; //命名空间的方式根据psr-4进行命名,比如此处,根据文件夹的路径,改文件的位置为PhpTest/Book,所以该文件的命名空间就是PhpTest\Book class Book { public $title; public function __construct($title) { $this->title=$title; } public function getBook() { return $this->title; } }
- 编写测试类
在Tests目录下,根据phpunit的测试类命名方式进行命名(BookTest.php)<?php /** * Created by PhpStorm. * User: stone * Date: 2019-06-20 * Time: 22:07 */ namespace PhpTest\Tests; require_once (__DIR__.'/../vendor/autoload.php');//引入composer自动加载 use PHPUnit\Framework\TestCase;//使用PHPUnit use PhpTest\Book\Book;//引入需要测试的类 class BookTest extends TestCase { public function testBookClass() { $expected = 'PHP 7'; $book = new Book('PHP 7'); $this->assertEquals($expected, $book->getBook()); } }
- 运行phpunit
这边我使用的是PHPStorm的idea,可以直接在软件内进行测试,只需要简单的配置。
点击后会提示你进行配置。根据相应的属性进行配置。
- 结语
第一次接触单元测试,看了一下phpunit,感觉挺强大的,但是第一次使用还是有点不知道如何去使用,刚开始总是提示找不到类文件,后面发现是自己的目录命名,命名空间的命名方式不规范。记录一下。
phpunit单元测试简单例子
最新推荐文章于 2025-05-27 15:05:51 发布