Phpunit 设置方法不起作用laravel 5.4
我的集成测试在没有设置方法的情况下运行良好。即工厂工作,数据填充到表中Phpunit 设置方法不起作用laravel 5.4,phpunit,laravel-5.4,laravel-testing,Phpunit,Laravel 5.4,Laravel Testing,我的集成测试在没有设置方法的情况下运行良好。即工厂工作,数据填充到表中 <?php namespace tests\Integration\Model; use App\Channel; use App\Discussion; use Tests\TestCase; use Illuminate\Foundation\Testing\DatabaseTransactions; class ChannelModelTest extends TestCase { /** @test
<?php
namespace tests\Integration\Model;
use App\Channel;
use App\Discussion;
use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class ChannelModelTest extends TestCase
{
/** @test
*/
function it_returns_discussion_count()
{
// GIVEN
factory(Channel::class, 3)->create();
factory(Discussion::class,10)->create();
// WHEN
$discussion_count = Channel::find(1)->discussions->toArray();
//THEN
$this->assertCount(2, $discussion_count);
}
}
我不明白为什么将工厂移动到设置方法失败
谢谢,您忘了将
parent::setUp()
放在setUp()
方法中
用法:
public function setUp()
{
parent::setUp();
factory(Channel::class, 3)->create();
factory(Discussion::class, 10)->create();
}
我后来明白了。不过还是谢谢你的回复。干杯:)
public function setUp()
{
parent::setUp();
factory(Channel::class, 3)->create();
factory(Discussion::class, 10)->create();
}