5
我正在尝试编写购物车的测试类。以下是我有:Laravel单元测试依赖注入
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);
}
}
然而,当我运行PHPUnit的,好像Laravel是无法解决我的ShoppingCartClass。
以下是错误:
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