5
私はショッピングカート用のテストクラスを作成しようとしています。ここで私が持っているものです:私はPHPUnitのを実行するとLaravelは私ShoppingCartClassを解決することができませんようにラーベルユニットテスト依存性注入
ShoppingCartTest.php
class ShoppingCartTest extends TestCase {
use DatabaseTransactions;
protected $shoppingCart;
public function __construct() {
$this->shoppingCart = resolve('App\Classes\Billing\ShoppingCart');
}
/** @test */
public function a_product_can_be_added_to_and_retrieved_from_the_shopping_cart() {
// just a placeholder at the moment
$this->assertTrue(true);
}
}
しかし、それはそうです。私は私のShoppingCartクラスがうまく異なるコントローラの数で解決されている
Fatal error: Uncaught exception 'Illuminate\Contracts\Container\BindingResolutionException'
with message 'Unresolvable dependency resolving
[Parameter #0 [ <required> $app ]] in class Illuminate\Support\Manager'
in C:\Development Server\EasyPHP-Devserver-16.1\eds-www\nrponline\vendor\laravel\framework\src\Illuminate\Container\Container.php:850
:ここ
はエラーです。テスト中にLaravelで解決できないのはなぜですか?
this postにも言及しましたが、まだ運がありませんでした。
'App \ Classes \ Billing \ ShoppingCart'のコンストラクタを投稿できますか? – edcs
@edcs確かです。ここにクラスがあります。 http://pastebin.com/bPRpmtnH –
クール - ありがとう! '$ this-> app-> make( 'App \ Classes \ Billing \ ShoppingCart');を使って試してみることができます。すべてのLaravelテストでは、アプリケーションのインスタンスがプロパティとして利用できます。 – edcs