サービスがあります。
manager.summary.order:
class: Travelyo\CoreBundle\Services\Managers\Order\OrderSummaryManager
arguments:
template: '@templating'
router: '@router'
後でメールで送信されるか、表示される html を (twig を使用して) レンダリングします。
私の Symfony2.1 プロジェクト内でこのサービスを使用する場合、問題はありません。この小枝には、app.request.locale
&のようなさまざまな呼び出しがありますnumber_format_currency
。
私のテストコントローラーでこのサービスを呼び出すとき。
そのエラーが発生します
Twig_Error_Runtime: An exception has been thrown during the rendering of a
template ("You cannot create a service ("request") of an inactive scope
("request").") in "TravelyoCoreBundle:Mail:confirmation_mail.html.twig" at line 63.
これが私のコントローラーです。
namespace Travelyo\ConfigurationBundle\Tests\Order;
use Travelyo\CoreBundle\Event\Order\OrderEvent;
use Travelyo\CoreBundle\Entity\Order\Order;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Travelyo\CoreBundle\Session\EtSession;
use Travelyo\CoreBundle\Services\Managers\OrderProcessManager;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class OrderSaveToDbTest extends WebTestCase {
private $summaryManger;
public function setUp()
{
static::$kernel = static::createKernel();
static::$kernel->boot();
$client = static::createClient();
$client->request(
'GET', '/clients/123456',
array('SERVER_NAME' => 'travelyo'), /* request params */
array(), /* files */
array('X-Requested-With' => "XMLHttpRequest",'SERVER_NAME' => 'travelyo'));
$this->summaryManger = static::$kernel->getContainer()->get('manager.summary.order');
}
public function testSaveAndSend()
{
$this->summaryManger->generateHml();
}
}
このエラーが発生しないようにする方法はありますか?
scope=request をサービスに追加してみました。しかし、このサービスは私のアプリケーションの他のサービスによって使用されています
ありがとう