问题标签 [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.

0 投票
1 回答
469 浏览

php - 如何确定 PHPUnit 模拟失败的原因?

我想对以下课程进行单元测试。

到目前为止我写的测试用例

当我执行测试时,它会引发错误

我在这里做错了什么?

0 投票
1 回答
119 浏览

php - PHP单元故障测试

我必须测试这个类的失败情况

以下是我写的测试用例

这是我为 testHandleSynchronousMessageForFailure 得到的失败

谁能澄清我在这里做错了什么?

0 投票
0 回答
37 浏览

drupal-7 - 预言框架和drupal 7

我正在尝试使用 Phpunit 创建一个测试并使用 Prophecy 进行模拟,但我得到了 MethodNotFoundException。这是我的代码:

我正在从命令行执行测试,但出现此错误:

在此处输入图像描述

这是我要测试的类和方法:

我不知道测试有什么问题,所以,任何帮助将不胜感激。谢谢。

0 投票
1 回答
240 浏览

unit-testing - 如何使用 Prophesy 在 Zend Expressive 中为 RequestHandlerInterface 类制作测试替身?

我正在尝试对process()Zend Expressive 应用程序中的中间件方法进行单元测试。为此,我需要模拟出$delegate方法的参数,该参数是 typeRequestHandlerInterface并且将具有 method handle()

这应该很容易做到,因为我在此测试中使用 Prophesy 成功模拟了其他对象:

每当handle()调用该方法时,我都会收到以下错误:"Unexpected method call on Double\RequestHandlerInterface\P18:\n - handle(\n Double\ServerRequestInterface\P17:000000004a01de0d000000000617c05e Object (\n 'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n )\n )\nexpected calls were:\n - handle(\n\n )"

这是测试。请注意,其他模拟按预期工作,但调用时仍会抛出错误handle()$mockDelegate

这是它试图测试的方法。当该方法应该将请求委托给管道时,似乎会发生错误。看这里:

如何RequestHandlerInterface handle()使用 Prophesy 准确地模拟该方法以实现无错误测试?

0 投票
1 回答
923 浏览

php - 我不知道如何测试创建查询生成器

我正在尝试测试存储库的所有方法,但我不知道如何进行测试,我想使用 Profecy。我正在使用DoctrineMongoDBBundle

实体

存储库

这是我不知道如何基于存储库类执行的测试。

我不知道如何模拟方法“getQuery()”。总是出现此错误:错误:调用数组上的成员函数 getQuery()

0 投票
0 回答
125 浏览

php - 我应该如何预言排序方法?

我正在使用DoctrineMongoDBBundle,但我不确定如何预测排序方法。

资源

我的代码是:

UserRepository - 方法全部

UserRepositoryTest - 预言

错误总是这样

Prophecy\Exception\Doubler\MethodNotFoundException:方法Double\Doctrine\ORM\QueryBuilder\P2::sort()未定义。

我不明白如何测试 SORT,因为在 QueryBuilder 中找不到它。

0 投票
1 回答
671 浏览

symfony4 - 使用私有方法在 Symfony 中测试服务

我试图在服务中测试公共方法,但它调用了另一个私有方法。

这是一个测试课

当我运行testGetDefaultImageResponse测试时,在控制台日志中出现错误。

这是经过测试的功能

真正的问题是getDefaultImage() 抛出错误

file_get_contents():文件名不能为空

这是私有方法的内容

如何将数据设置为$this->parameterHandler->get('images.default_avatar')

我在运行测试时出错的地方?我必须承认我是单元测试的新手。

0 投票
1 回答
174 浏览

unit-testing - Symfony PhpUnit 模拟 PHP 内置方法

我正在使用prophesize方法来模拟类

例子:

如何模拟 PHP 内置方法?

正是我需要嘲笑locale_accept_from_http($language);

你知道如何处理这个吗?

0 投票
0 回答
671 浏览

php - 单元测试 guzzle http 承诺回调

我在一个类中有以下代码:

现在我的处理程序函数如下所示:

现在我想测试我的类有签名:

我可以模拟所有记录器和发布者类,也可以按照此处找到的 guzzle 文档中提到的模拟 http 请求的说明:http ://docs.guzzlephp.org/en/stable/testing.html

我的测试如下所示:

但我永远无法让这个测试变成绿色。andbody 是否尝试过类似的方法来测试异步请求。

关于如何测试此实现的任何想法。

测试 requrns 响应告诉期望在发布者上调用函数失败,如下所示:

No calls have been made that match:

0 投票
1 回答
1927 浏览

php - TypeError:class::functionName()的返回值必须是/Interface的实例,返回null

如何使用 php 预言指定函数的返回类型(接口的实例)。

方法是这样的: -

有可能做这样的事情吗?$this->method->willreturn(string)->ofTypeInterface