laravel单元测试

laravel单元测试


laravel的单元测试是基于phpunit的。基本上将phpunit全部都集成到了laravel中。所以在使用laravel的单元测试的时候,还是比较简单的。单独使用 phpunit 也还是需要做大量的配置,特别是对 Model或者Repository层进行测试的时候。但是在laravel中,提供了一个 testing 的环境,在这个环境中进行单元测试,就可以省略掉大量的配置。让单元测试的速度大大的增加。

laravel环境


laravel 中,对于不同环境的设计是很不错的。大致上 laravel可以分为生产、开发、测试等环境。而我们在测试的时候就可以完全在这个测试环境中进行的。这个测试环境与生产和开发环境是完全独立开的,这样一来,在测试的时候就可以完全不去影响到其他的环境。我们的单元测试就可以在这个测试环境中完成。 在测试开始之前,将database.php 拷贝一份到app\config\testing 文件夹。在这个文件里配置单元测试的数据库环境。有一点需要注意的是,laravel 默认的数据库是 Mysql 如果要更换测试的数据库,则需要在 app\config\testing\database.php 中配置 'default' => 'your databse type'。比如在测试环境中可以使用sqllite 等数据库。做完这个配置之后,那么单元测试的数据库到此就算是配置完成了。

单元测试


laravel 对单元测试 有着很好的支持。基本上对phpunit 进行了一个很好的包装。但是在使用phpunit的时候,我们需要配置大量的环境。而在laravel中就不需要。只需要写一个个的测试用例。在laravel项目的test文件夹里面有一个例子来说名如何进行测试。写完测试用例之后直接在命令行运行vendor/bin/phpunit然后,所有的测试用例都可以执行。这样,一个简单但是功能完备的单元测试就配好了。

微信公众号

© 2018 ray