问题标签 [prophecy]
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.
php - 如何模拟您正在使用 Prophecy 测试的类中的方法?
我想第一次使用Prophecy ("phpspec/prophecy-phpunit") 为我的类创建单元测试。我想测试一个在同一服务中调用另一个函数的函数,代码如下:
我遇到的第一个问题是我正在使用findOneByUsername
Prophecy,据我所知,它不允许您:模拟魔术方法(_call
for EntityRepository
),模拟不存在的方法,模拟您正在测试的类。如果这些都是真的,那我就有点麻烦了,这意味着如果不测试类中的其他函数,我就无法测试这个函数。
到目前为止,我的测试如下所示:
当然,测试失败是因为对$em
, 和存储库的承诺没有实现。如果我实例化我正在测试的类,测试会失败,因为该函数随后会调用createUserFromLdap()
同一个类并且没有经过测试。
有什么建议么?
php - 使用 PHPunit 测试代码时遇到问题
我正在使用 PHPUnit 测试代码。我们如何测试该函数是否在循环内从同一类调用另一个函数?这是我的dashboardmanager.php
这是我的测试文件。我在 test_getZoneOrderValue() 中遇到问题。这是我的dashboardmanagertest.php
php - 预言和 PHP DOM 的问题
我一直在移动我的 PHPUnit 测试以使用 PHPSpec 的 Prophecy 库 - 但是在使用 PHP DOMDocument 的假人时我遇到了一个奇怪的错误:
我收到一个错误ErrorException: DOMDocument::loadXML(): Empty string supplied as input
我不确定为什么调用 loadXML - 这些应该是假人......
php - 如何在 Prophecy 中模拟相同的方法,使其在每个调用中返回不同的响应
在纯 PHPUnit 模拟中,我可以执行以下操作:
我无法使用 Prophecy 做同样的事情。可能吗?
php - PHP Prophecy Mystery
I have $entity_type->isSubClassOf('Drupal\Core\Entity\FieldableEntityInterface')->willReturn(TRUE);
and getting this very baffling error:
drupal - 只有这个,没有更多的预言?
所以我在 PhpUnit 测试中有这个:
我想告诉 Prophecy,这就是别名管理器应该被调用的所有内容,不应该调用其他方法,也不应该使用任何其他参数调用此方法。后者我可以
但是我如何对预言说“没有别的”呢?
php - PhpStorm 中的预言自动完成
我在 PHPUnit 测试中使用 PhpStorm 和Prophecy 。
我使用了插件PHPUnit Autocomplete Assistant,它运行良好,直到我更新到 PhpStorm 2016.1.1。插件被禁用,此消息在 PhpStorm 启动时显示:
以下插件与当前的 IDE 版本不兼容: PHPUnit Autocomplete Assistant
作者在他的GitHub 问题上一周没有回答,所以我开始寻找替代方案,但找不到任何替代方案。如果没有这样的插件,PHPStorm 中的 Prophecy 并不令人愉快——你的编辑器充满了警告,没有自动完成等等。
你知道 PHPStorm 和 Prophecy 的其他工具吗?
unit-testing - 如何使用 Laravel、PHPUnit、Prophecy、DI 模拟或存根
您好,我正在尝试使用 Prophecy 进行我的第一个模拟或存根测试。我从未使用过模拟和存根或嘲弄。我已经完成了相当多的单元测试,其中依赖项并没有真正发挥作用,等等。
如果我能让这个测试正常工作,我认为它将帮助我进一步测试我的代码。任何帮助将不胜感激!
首先是错误...
这是测试类的相关部分......
这是我试图测试的类/方法的相关部分......
我还通过以下方式修改了测试...
即使我省略了 ->willReturn 部分,我仍然会得到完全相同的错误。
我不希望 isInitial 调用实际的 MaintenanceFlagsProvider 类,我希望测试伪造该调用,但通过测试将 $flag 变量设置为我想要的任何值(如果有意义的话)。
php - PHPUnit 预言一个没有确切参数的方法
我正在使用预言来模拟 UserRepository 类,以确保在发送POST
请求时触发 UserRepository 上/user
的方法。create()
唯一的问题是该create()
方法将请求数据作为参数发送到存储库,以便在执行任何操作之前对输入进行一些认真的调整。我如何在create()
不告诉预言参数的情况下模拟调用?
还是这对我来说真的很糟糕,并且永远不应该将请求数据传递到存储库?
php - PhpSpec - 用另一个参数模拟一个参数
我想知道是否可以忽略Exception
in 方法并强制使用willReturn
方法?
我有一个例子:
理论上,Transformer 必须有同名的实体(通过this->getClassName
),但是在这种情况下,我该怎么办,因为我的SimpleEntity
和TransformerInterface
不一样。
在测试文件中:
所以我收到了这个错误信息:
你对这类问题有想法吗?