Php 在Laravel中执行测试后删除插入的行

Php 在Laravel中执行测试后删除插入的行,php,laravel,Php,Laravel,我已经为我的Laravel项目进行了单元测试,我有一个设置方法,它如下所示: public function setUp() { parent::setUp(); $this->user = factory(User::class)->states('admin', 'manager', 'code', 'coordinator')->create(); } 我的目标是,在执行测试后从数据库中删除此行。我可以用te

我已经为我的Laravel项目进行了单元测试,我有一个
设置
方法,它如下所示:

    public function setUp()
    {   
        parent::setUp();
        $this->user = factory(User::class)->states('admin', 'manager', 'code', 'coordinator')->create();
    }

我的目标是,在执行测试后从数据库中删除此行。我可以用
tearDown
方法删除它,但我的问题是:有没有比手动删除更好的方法?我指的是在后台处理此操作的操作?

您可以在测试后使用此操作

 DB::statement("TRUNCATE TABLE users;");

您使用的是什么版本的Laravel?您需要的应该是版本
5.6.28
。如果失败,则始终可以添加
tearDown
方法并显式删除该行。此语句在执行测试之前删除了数据库中的所有数据。我不想在测试之后删除现有数据,只删除插入的数据。为测试设置一个单独的数据库可能是一个好主意,它不会干扰主数据。如果做不到这一点,我只需在类中添加一个
tearDown
方法,然后从中删除行。如果我从文档中理解正确,此命令将删除我不希望发生的所有数据