2016-05-20 9 views
1

をテストします。Codeception、Laravelは、受け入れは私がCodeception Laravel私はモジュールLaravel 5は、受け入れテストで使用すべきではないドキュメントで参照5.</p> <p>で受け入れテストを研究開発をしてい

ここで、Auth :: xxx、factory(User :: class) - > create()などの関数を使用したいと思いますが、これらの関数は認識されません。

Laravel 5 Moduleが含まれているため、私はfuncionalテストで使用できます。

私は受け入れテストでそれらを使用できないということを意味しますか、それを行うにはトリックですか?

答えて

2

ドキュメントは明らかにあなたの質問への答えの概要を示します。

あなたは受け入れテストのために、このモジュールを使用しないでください。だから、これは何ですか

:あなたは、テストのセットアップを行うには、たとえば、あなたの受け入れテストでLaravelの機能を使用する場合は、_bootstrap.phpファイルあなたのスイートに次のコード行を追加することにより、Laravelの機能を初期化することができますあなたは追加:

require 'bootstrap/autoload.php'; 
$app = require 'bootstrap/app.php'; 
$app->loadEnvironmentFrom('.env.testing'); 
$app->instance('request', new \Illuminate\Http\Request); 
$app->make('Illuminate\Contracts\Http\Kernel')->bootstrap(); 

これはしかし、あなたは受け入れテストのためのCodeception Laravel 5モジュールを使用することはできません、あなたの受け入れテストでLaravel機能を使用can意味します。

これが問題を解決することを望みます。

+0

tx!それは助けになった! –

+0

私は既にブートストラップファイルに持っていますが、instのために(Auth :: user())を取得するとnullが返されます –

+0

しかし、そのファクトリ(User :: class) - > make()が実現します... –

1

受入れテストでは、あなた(コード化)とアプリ(ウェブサイト)の2つのインスタンスがあります。

これは、インスタンスで使用するlaravelのいずれかがアプリのインスタンスで動作しないことを意味します。

ここでAuth::check()は受け入れテストをアプリから切り離さなければならないため、意味を持ちません。 Log InまたはLog Outがレンダリングされたhtmlで表示されている場合は、アサートする必要があります。

受け入れテストでは、Eloquentはあなたが逃げ出すことのできる唯一のものです。

関連する問題