问题标签 [liipfunctionaltestbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
81 浏览

php - 为什么这个方法在没有被调用的情况下被执行?

根据这个文档,我可以在我的测试类中编写一个setUp()函数,比如:

但是当我setUp()在扩展的 WebTestCase 类中查找方法时,我没有找到。我的理解是我可以在子类中重新定义父类的方法。父类是:

https://github.com/liip/LiipFunctionalTestBundle/blob/master/Test/WebTestCase.php

请向我解释为什么以及何时执行此方法?谢谢

0 投票
1 回答
687 浏览

phpunit - 如何使用 Symfony3 在 PHPUnit 测试用例中填充/模拟服务器变量?

如何使用 Symfony3 在 PHPUnit 测试用例中填充/模拟服务器变量?

我尝试为我的 symfony3 应用程序创建功能测试。

我使用LiipFunctionalTestBundle

我有一个$_SERVER包含访客所在国家/地区的特殊变量。动作的行为强烈依赖于它。

我尝试在我的测试用例中填充它。

phpunit.xml.dist这是基于在 PHPUnit 中设置 PHP INI 设置、常量和全局变量的文件内容

当我在单元测试中收到请求时,dump($this->client->getRequest());我看到了我的变量:

但由于某种原因,在行动中

$_SERVER变量包含 Shell 和环境变量:

我做错了什么?有没有办法在命令行中模拟服务器变量,使用 Symfony3 和 phpunit?

0 投票
1 回答
371 浏览

symfony - Symfony 3 功能测试中的模拟服务 phpunit 和 liip

我使用 Symfony 3.4。我有从Liip\FunctionalTestBundle\Test\WebTestCase某些功能扩展的功能测试,我想模拟一些服务,我为服务创建模拟对象,但实际上我仍然有原始服务,如何模拟服务

在我的功能中

在我的行动中$uri

在变量中$test我有原始课程‌AppBundle\Helper\AdditionalFunction

如何模拟服务?

0 投票
0 回答
119 浏览

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

我正在使用LiipFunctionalTestBundleAliceBundle来测试我的 Symfony 3.4 应用程序和夹具。

一切工作正常,但这种特殊情况:从Liip WebTestCase扩展中的测试加载的夹具中访问应用程序参数。

让我们考虑一下这个设置:

配置.yml

我的fixture.yml

我的测试.php

这是测试的结果:

但是,我的夹具可以从命令行成功加载:

为什么我的夹具不能从测试中访问参数?
我该如何调试呢?

0 投票
1 回答
857 浏览

php - 如何在功能测试的会话中设置一些数据?

我使用"liip/functional-test-bundle": "~1.8",and"symfony/symfony": "~3.4",和我的功能测试,我想在会话中设置一些数据,但是在使用相同的键设置数据之后,我有 null。Mytest 类扩展自extends WebTestCase

这就是我在测试方法中设置数据的方式

config_test.yml

并在行动中

variable $testequal null 如何在功能测试的会话中设置一些数据?

调试时,请求前

并在行动中

我不明白为什么 id 和 savePath 不同?

0 投票
0 回答
184 浏览

database - 使用带有 LiipFunctionalTestBundle 和 Postgresql 的夹具

我正在尝试在遗留 Symfony 2.8 项目中使用Liip 的 FunctionalTestBundle实现功能测试。

这个项目在存储库等中使用手写的 postgresql 查询,所以我不能强制使用 sqlite。根据捆绑包的文档,我必须自己在测试设置中创建模式。我尝试使用文档中提供的代码片段。

这失败$schemaTool->createSchema($metadatas);并出现以下错误:

我的配置如下:

依赖项:

如果我将我的配置更改为driver: pdo_sqlite并删除 setUp 片段,只要涉及固定装置,一切都会正常工作。但是当测试开始使用一些手写的 postgresql 查询时,我开始收到错误。

有什么想法可以使架构工作吗?

注意:由于某些原因,我无法从 symfony 控制台进行任何数据库操作。这是尝试删除数据库时的示例。

我总是得到同样的错误。

再说一次,这在使用 sqlite 时效果很好。

0 投票
2 回答
679 浏览

symfony - 具有多个 Doctrine EntityManagers 的功能测试 Symfony

在 Symfony 4 应用程序中,我配置了多个实体管理器。我希望我的功能测试能够自动为两个经理创建数据库表。

但是,当我运行测试时;PHP 单元遇到错误提示

PDOException:SQLSTATE [42S02]:未找到基表或视图:1146 表“test.example”不存在

配置/包/doctrine.yaml:

要创建表和加载 Fixtures,我目前正在使用Liip Functional Test Bundle

一个简单的测试如下所示:

测试\功能\GeneralControllerTest.php:

如何让我的测试用例为其他自定义 Doctrine EntityManagers 创建数据库表?

我试过添加:

并且:

到测试用例的 setUp() 方法,但这并没有导致所需要的。在将任何 Fixture 加载到数据库之前,都需要创建数据库表。

0 投票
1 回答
685 浏览

php - 使用 LiipFunctionalTestBundle 在 setUpBeforeClass 中加载数据夹具

正如标题所说,我想知道如何在方法中加载数据夹具setUpBeforeClass。测试类扩展了Liip\FunctionalTestBundle\Test\WebTestCase.

目前我有这个:

然而,测试似乎花费了太长时间,实际上没有必要在每次测试之前加载固定装置。

当我尝试在其中加载固定装置时setUpBeforeClass出现错误:

错误:当不在 /home/cezar/phpprojects/livegene/vendor/liip/functional-test-bundle/src/Test/WebTestCase.php:252 的对象上下文中时使用 $this

查看LiipFunctionalTestBundle的源代码可以发现以下代码片段:

是否有可能做到这一点,我希望什么,如果可以,如何实现?

0 投票
2 回答
3386 浏览

php - 如何使用 phpunit 和 Liip 将不记名令牌传递给测试 API

这就是我正在做的

我第一次打电话来获取令牌

然后第二个使用它

$token 是一个有效的令牌(使用邮递员测试),例如“Bearer SUPERLONGSTRING”,但我收到错误消息

谢谢

0 投票
1 回答
91 浏览

symfony5 - Symfony 5.0 LiipFunctionalTestBundle Form 必须是 Client 的实例而不是 KernelBrowser

我将我的项目升级到 Symfony 5.0。但是,在运行测试时出现以下错误:

TypeError: Argument 1 passed to App\Tests\PagesTestCase::form() must be an instance of Symfony\Bundle\FrameworkBundle\Client, instance of Symfony\Bundle\FrameworkBundle\KernelBrowser given

这种形式的参数 1 是$userClient,它是用createClient. 在 Symfony 5 中,Symfony\Bundle\FrameworkBundle\Client被删除。为什么它仍然期待一个客户端实例?我在用LiipFunctionalTestBundle

我查看了 srcLiipFunctionalTestBundle并在QueryCountClient.php以下内容中发现:

在我看来,这应该可以解决问题,但是,事实并非如此。我对为什么会收到此错误一无所知。