在测试环境中找不到应用程序参数

时间:2018-03-28 09:37:15

标签: symfony nelmio-alice liipfunctionaltestbundle

我正在使用LiipFunctionalTestBundleAliceBundle来测试我的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"
[...]

为什么我的夹具不能从测试中获取参数?
我该怎么调试呢?

0 个答案:

没有答案