我是laravel测试的新手。我有一个型号是Category。在将数据添加到数据库之前,我想通过laravel中的phpunit进行测试。为了正确执行,我需要为Category创建工厂模型吗?
我以自己的方式做了一些事情,但是我相当确定在将数据添加到数据库之前,该测试方法并不是我真正必须测试的方法。
这是CategoryTest.php
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use App\Category;
class ProbaTest extends TestCase
{
use RefreshDatabase;
/**
* A basic unit test example.
* @test
* @return void
*/
public function proba()
{
$this->assertDatabaseMissing('categories',[
'name' => ''
]);
}
}
这是模特
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Category extends Model
{
use SoftDeletes;
protected $fillable = [
'name',
];
}
这是CategoryFactory,如果我必须拥有它的话。
use App\Category;
use Faker\Generator as Faker;
$factory->define(Category::class, function (Faker $faker) {
return [
'name' =>$faker->name,
];
});
我想知道在将数据持久存储到数据库之前必须使用哪种方法才能成功进行测试。
谢谢。