Ich schreibe phpUnit-Tests für unsere Anwendung, also habe ich eine Modellfabrik geschrieben, danach versuche ich, den Komponententest auszuführen, dann bekomme ich einen Fehler wie "InvalidArgumentException: Unbekannter Formatierer 'publicId' ". Ich habe alle Spaltennamen der Tabelle in meiner Modellfabrik deklariert. Müssen alle Spalten in der Fabrik erwähnt werden?InvalidArgumentException: Unbekannter Formatierer beim Schreiben von Komponententests
ModelFactory.php
$factory->define(App\Campaign::class, function (Faker\Generator $faker) {
return [
'public_id' => $faker->publicId,
'client_id' => $faker->clientID,
'name' => $faker->name,
'criteria_age' => $faker->criteriaAge,
'criteria_state' => $faker->criteriaState,
'criteria_postcode' => $faker->criteriaPostcode,
'dncr_required' => $faker->dncrRequired,
'criteria_state' => $faker->criteriaState,
'active' => $faker->active,
'method' => $faker->method,
'server_parameters' => $faker->serverParameters,
'parameter_mapping' => $faker->parameterMapping,
];
});
\ Tests \ Unit \ Kampagne \ CampaignTest.php
namespace Tests\Unit\Campaign;
use App\Campaign;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class CampaignTest extends TestCase
{
use DatabaseTransactions;
public function testCampaignCreation()
{
factory(\App\Campaign::class)->create(['name' => 'tinku']);
$this->seeInDatabase('campaigns', ['name' => 'tinku']);
}
}
nach dem Ausführen "phpunit Tests/Einheit/Kampagne/CampaignTest.php" Ich habe diesen Fehler " InvalidArgumentException: Unbekannter Formatierer 'publicId' ". Ich bin neu in Laravel Ich weiß, dass es ein Verfahren gibt, um Fabriken zu bauen, aber ich konnte es nicht herausfinden. Hoffe jemand hilft. Vielen Dank.