I am using Laravel 5.1 and I have the following test class where I am using some model factories in the setUp()
method to temporarily seed the database.
class PendingUserWithManualStudentDetailsTest extends TestCase
{
use DatabaseMigrations, WithoutMiddleware;
public function setUp()
{
parent::setUp();
$this->studentDetail = factory(StudentDetail::class)->create();
// ... more factories
}
// ... some tests
}
When running the test I get the following error:
General error: 1 no such table: student_details
When I move the factory calls into a test method they execute just fine. So I am guessing that the order in which the setUp()
and my test methods are called are causing the issue. Is there any way I can fix this?
This is my testcase class:
class TestCase extends Illuminate\Foundation\Testing\TestCase
{
/**
* The base URL to use while testing the application.
*
* @var string
*/
protected $baseUrl = 'http://myapp.dev';
/**
* Creates the application.
*
* @return \Illuminate\Foundation\Application
*/
public function createApplication()
{
$app = require __DIR__.'/../bootstrap/app.php';
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
$app->setLocale('en');
return $app;
}
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire