我正在使用LiipFunctionalTestBundle和AliceBundle来测试我的Symfony 3.4应用程序。
一切正常但是这种特殊情况:从Liip WebTestCase扩展中的测试加载的夹具中访问应用程序参数。
让我们考虑一下这个设置:
config.yml
In [136]: A
Out[136]:
A B C
0 1 2 3
1 4 5 6
2 1 2 3
In [137]: B
Out[137]:
A B C
0 4 5 6
1 1 2 3
2 9 8 7
3 4 5 6
In [138]: A.merge(B).drop_duplicates()
Out[138]:
A B C
0 1 2 3
2 4 5 6
In [139]: len(A.merge(B).drop_duplicates()) == len(A.drop_duplicates())
Out[139]: True
我-fixture.yml
parameters:
img_url: 'http://images.url'
MyTest.php
AppBundle\Entity\Item:
Item-0:
name: 'First Item'
image: '<{img_url}>/item0.png'
以下是测试结果:
use Liip\FunctionalTestBundle\Test\WebTestCase;
class MyTest extends WebTestCase
{
# ...
public function testMy()
{
echo $this->getContainer()->getParameter('img_url');
$this->loadFixtureFiles(['my-fixture.yml']);
# ...
}
但是,我的夹具可以从命令行成功加载:
$ phpunit --filter /MyTest::testMy$/
http://images.url
Nelmio\Alice\Throwable\Exception\Generator\Resolver\UnresolvableValueDuringGenerationException:
Could not resolve value during the generation process
[...]
Nelmio\Alice\Throwable\Exception\Generator\Resolver\UnresolvableValueException:
Could not find the parameter "img_url"
[...]
为什么我的夹具不能从测试中获取参数?
我该怎么调试呢?