我正在为我们的应用程序编写phpUnit测试,所以为此我编写了一个模型工厂,之后当我尝试运行单元测试时,出现如下错误:“InvalidArgumentException:未知格式化程序'publicId'“。我在Model工厂中声明了表格的所有列名称。是否需要提及工厂中的所有列?InvalidArgumentException:编写单元测试时未知的格式化程序
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,
];
});
\测试\单位\运动\ 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']);
}
}
运行后 “PHPUnit测试/单位/运动/ CampaignTest.php” 我得到这个错误“ InvalidArgumentException:未知格式化程序'publicId'“。我是Laravel的新手我知道有一个创建工厂的程序,但我无法弄清楚。希望有人帮助。谢谢。