PHPUnit Testing with Laravel

前期

  1. 使用sqlite,修改config/database.php default字段
  2. 创建database/database.sqlite文件
  3. 创建model php artisan make:model Article -m
  4. 修改database/migrations目录下刚刚创建的Article的迁移文件 $table->string('title'); $table->integer('reads')->default(0);
  5. 生成表Article php artisan migrate
  6. 生成测试数据 database/factories/ModelFactory.php

正题

测试Eloquent 必须继承TestCase

创建trending方法,不然会报错 注意 每次运行phpunit 不管成功还是失败生成器都会运行,所以我们为了避免这样的问题发生需要使用事务,失败回滚

use Illuminate\Foundation\Testing\DatabaseTransactions;

注意 这是个 trait 所以需要在class内引用,区分命名空间 use DatabaseTransactions

上述,测试生成后的id与倒序查询的id是否相同,以及查询的步长是否为指定数目

TODO

  • [ ] A Testing Database Connection
  • [ ] Testing Collaborators

Laracasts

发表评论

电子邮件地址不会被公开。 必填项已用*标注