サービスSymfony2で機能テストを1回やり直したい。アイデアは、前にコントローラーを呼び出し、その後、関数をサービスにロードすることです。関数はこれです:
function save($title,$description,$setId,$html,$validate,$articles){
$articles = explode(',', $articles);
if (false === $this->container->get('security.context')->isGranted('ROLE_USER')) {
throw new \Exception("Not allowed");
}else{
$profileId = $this->container->get('security.context')->getToken()->getUser()->getId();
$userName = $this->container->get('security.context')->getToken()->getUser()->getUserName();
}
}
そして今、私のテストコードは:
$client = static::createClient();
$crawler = $client->request('GET','/sets/save',
array(
"title"=>"rtyui",
"description"=>"aksdjhashdkjahskjdh",
"set_id"=>"",
"html"=>"",
"validate"=>1,
"articels"=>"3,4"
)
);
しかし、私がこの行を持っていることはまだ機能していません:
if (false === $this->container->get('security.context')->isGranted('ROLE_USER')) {
throw new \Exception("Not allowed");
さて、問題は、検証プロセスをどのように行うことができるかということです。ドキュメントを示すように、この検証プロセスを実行しようとしました。
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'username',
'PHP_AUTH_PW' => 'pa$$word',
));
しかし、私は同じエラーを受け取りました。