2017-06-14 2 views
0

私たちのアプリケーションのためのphpUnitテストを書いていますので、私はモデル工場を書きました。その後、ユニットテストを実行しようとすると "のようなエラーが発生します。InvalidArgumentException:不明なフォーマッター 'publicId' "。モデルの工場でテーブルのすべての列名を宣言しました。工場のすべての列に言及する必要がありますか?実行後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" I」は、このエラーを得ましたInvalidArgumentException:不明なフォーマッター 'publicId' "。私はLaravelを初めて使っています。私は工場を作る手続きがありますが、わかりませんでした。誰かが助けてくれることを願いますありがとう。

答えて

0

フォーマッタはから偽物ないLaravelで、あなただけで偽物フォーマッタ偽物船を使用することができます。

このエラーメッセージは、publicIdというフォーマッタがないことを示しています。すべて偽物フォーマッタのリストについては参照してください。https://github.com/fzaninotto/Faker#formatters

をあなたがあなたの例で使用されてきたフォーマッタでそのリストを比較した場合、それはあなたが最も可能性が高い、いくつかのデータベースのプロパティでフォーマッタを混同することを、ますます明らかになりました既存の例からの翻訳の失敗?しかし、私はあなたがよりよく知っていると思う、これはうまくいけば、あなたのテストケースを設定し続けるために必要な情報を提供します。

関連する問題