具有多个 Expects() 调用的 PHPUnit 模拟

2023-11-23

使用 PHPUnit,我想知道我们如何从同一个存根/模拟中获得多个期望。

例如,我想测试模拟是否具有该方法display()调用并返回 NULL。我也想测试一下这个方法process()将被调用。

事实上我的测试叫做testProcessIsCalledIfDisplayReturnNull().

所以我需要在同一个模拟对象上设置 2 个期望,而手册对此并没有真正的帮助:(


如果你知道,该方法会被调用一次,在expects()中使用$this->once(),否则使用$this->any()

$mock = $this->getMock('nameOfTheClass', array('firstMethod','secondMethod','thirdMethod'));
$mock->expects($this->once())
     ->method('firstMethod')
     ->will($this->returnValue('value'));
$mock->expects($this->once())
     ->method('secondMethod')
     ->will($this->returnValue('value'));
$mock->expects($this->once())
     ->method('thirdMethod')
     ->will($this->returnValue('value'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有多个 Expects() 调用的 PHPUnit 模拟 的相关文章

  • (PHP):使用 Zend_Test_PHPUnit_DatabaseTestCase 测试模型

    当我运行 PHP 单元测试时 我得到 1 Test Model Mapper TestTest testTest Argument 1 passed to PHPUnit Extensions Database DataSet Defaul
  • 仅在 PHPUnit 中需要时才执行 dataProviders?

    我的测试套件即使只是开始也需要几分钟 这是因为数据提供者在 phpunit 启动时立即执行 并且它们的所有数据 数千个对象 都保存在内存中 有没有办法在测试运行之前调用 dataProviders 我不在乎在屏幕上看到如此精确的进展 Tha
  • 如何对 Laravel Mailable 进行断言

    在测试中 我想使用以下方法对 Mailable 做出一些断言Mail assertSent 像这样 Mail assertSent MyMailable class function mail use user return mail gt
  • 有人成功用 Robolectric 模拟 HttpRequests 吗?

    我刚刚开始使用 Robolectric 模拟大多数 Android 类似乎工作正常 但是当我的测试类尝试创建 DefaultHttpClient 时 它会收到可怕的 Stub 错误 被测试的类在这一行失败 HttpClient httpcl
  • 在上下文中模拟计时,以使用 auto_now_add=True 的字段 DateTimeField 创建模型

    我想模拟时间以便能够set特定时间到某个类型的字段DateTimeField with auto now add True在我的测试期间 例如 class MyModel created at models DateTimeField au
  • 起订量要求?违背了目的?

    是否需要虚拟化您想要模拟的所有属性访问器就违背了模拟的目的 我的意思是 如果我必须修改我的对象并虚拟化我想要模拟的每个访问器 我难道不能继承我的类并自己模拟它吗 你的问题非常有效 但如果你仔细想想 没有其他方法可以模拟课程 如果你采用一个接
  • 如何嘲笑一切?

    我了解如何模拟接口或虚拟方法调用 但是像 TypeMock 这样的框架可以模拟框架中的所有内容 使用哪些 NET机制来提供此类功能 例如 Typemock Isolator 使用 CLR分析器API http msdn microsoft
  • 如何对 Google API 调用进行单元测试

    我有一个以下方法 它从 Google Analytics 检索访问次数最多的页面 public function getData limit 10 ids 12345 dateFrom 2011 01 01 dateTo date Y m
  • 在 Jest 测试中设置时刻时区

    我有 util 函数 它以特定的日期格式解析给定的日期 即 2019 01 28 然后使用momentJS检索当天的开始并将其转换为 ISO 日期格式 dates js import moment from moment export co
  • 是否可以存根实体框架上下文和类来测试数据访问层?

    我熟悉用于测试 ASP NET MVC 应用程序中的控制器和业务逻辑的技术 我们的应用程序中的数据访问集中在松散耦合的特殊服务中 使用接口并通过实体框架与实际数据库一起使用 然而 随着 DAL 变得越来越复杂 隐藏数据库实现细节并为应用程序
  • 为什么 PHPUnit 将一些右大括号显示为未被覆盖?

    我正在使用 PHPUnit 3 6 7 PHP CodeCoverage 1 1 1 和 Xdebug 2 1 2 当我让 PHPUnit 将代码覆盖率统计信息写入 clover 样式的 XML 文件时 它偶尔会显示一个右花括号 表示测试未
  • PHPunit - 错误

    当 PHPunit 框架不希望发生的错误发生时 测试会停止 PHP 会抛出错误 但 PHPunit 不会记录这是一个错误 我如何确保 PHPunit 将其记录为错误 免责声明 我是 PHPUnit 的新手 我也试图弄清楚 发生错误时会发生什
  • 来自本地 XML 的模拟 SoapClient 响应

    我想用文件中的 XML 来模拟 SoapClient 的响应 我如何创建一个 stdClass 对象 就像 SoapClient 从文件返回一样 客户端已经包装了 SoapClient 因此可以轻松模拟响应 我的模拟是这样的 soapCli
  • 无法在 PHPUnit 中使用数据提供程序运行单个测试

    使用命令行运行测试时遇到问题 如果我像这样运行 phpunit phpunit no configuration filter testAdd DataTest DataProviderTest php 效果很好 但是我们使用正则表达式来准
  • 如何将 ZF2 单元/应用程序模块测试合并到单个调用中?

    我遵循将测试存储在模块中的 ZF2 约定 并且当从每个模块内运行测试时一切正常 我想做的是有一个根级别的 phpunit xml 来调用各个模块测试并将它们合并以生成代码覆盖率数据和其他指标 问题是每个单独的测试套件都是在模块化 phpun
  • phpunit 中的组/过滤器不执行特定的测试用例

    我有一个套件 它调用多个套件和许多用于日志 报告和执行的函数 如果我尝试相同的 组或过滤器 模式 它会执行所有测试用例 而不执行选定的单个测试用例 Edit 我正在使用数组套件 如下所示 suite gt addTestSuite admi
  • 如何在 PHPUnit 中跨多个测试模拟测试 Web 服务?

    我正在尝试使用 PHPUnit 测试 Web 服务接口类 基本上 这个类调用肥皂客户端目的 我正在尝试使用 PHPUnit 测试此类getMockFromWsdl这里描述的方法 http www phpunit de manual curr
  • 如何设置“阅读文档”以使 Sphinx autodoc 选项发挥作用?

    我的项目不是使用 autodoc 构建的 我遇到了关于我的项目未在 autodoc 中构建的常见问题 https read the docs readthedocs org en latest faq html my project isn
  • 单元测试和静态方法

    阅读并学习单元测试 试图理解以下帖子 http misko hevery com 2008 12 15 static methods are death to testability 这解释了静态函数调用的困难 我不太清楚这个问题 我一直认
  • 关于如何在 PHPUnit 中使用 setUp() 和tearDown() 有真实的例子吗?

    Methods setUp and tearDown 在每次测试之前和之后调用 但实际上 有没有任何真实的例子说明我为什么需要这个 检查其他人的测试 我总是看到类似的东西 public function setUp this gt test

随机推荐

  • 将长sql vba语句分成多行

    我对 VBA 环境完全陌生 我试图将这一行分成多行 但失败了 有人可以帮我把这段代码分成多行吗 DoCmd RunSQL UPDATE INDIVIDUAL SET INDIVIDUAL INDI FIRSTNAME prospect co
  • Ruby 在 Windows 上崩溃

    我面临着这里描述的同样的问题 为什么 ruby exe 遇到了问题并且需要关闭 rails 失败 那是 ruby 崩溃并出现以下错误 ruby exe has encountered a problem and needs to close
  • 不是有效 python 标识符的属性

    通常的属性访问方法要求属性名称是有效的 python 标识符 但属性不必是有效的 python 标识符 gt gt gt class Thing def init self setattr self 0potato 123 gt gt gt
  • 更改表并添加 UNIQUE 键会导致错误

    我有一张桌子叫Animal AnimalId是主键 我想设置该列AnimalType id作为独特的 我有一个AnimalType表并需要在此处设置外键 ALTER TABLE Animal ADD UNIQUE Animal Animal
  • 在 WebAPI 方法中返回 HTTP 403

    我如何返回HTTP 403 from a WebAPI方法 我试过扔一个HttpResponseException with HttpStatusCode Forbidden 我已经尝试过 return request CreateErro
  • 使用奥格登引理与常规泵引理进行上下文无关语法

    我正在学习问题中引理之间的区别 我能找到的每个参考文献都使用以下示例 a i b j c k d l i 0 or j k l 以显示两者之间的差异 我可以找到一个使用常规引理来 反驳 它的例子 选择 w uvxyz s t 维 gt 0
  • ECMAScript 3 在主要浏览器中的实现仍然存在差异吗?

    有人可以指出 ECMAScript 第三版在当今浏览器中的实现差异吗 Chrome Safari IE8 FF 使用 ECMAScript 3 标准 而不是 FF 和 IE 对 JScript 和 JavaScript 的扩展 时我们安全吗
  • C 生成不重复的随机数[重复]

    这个问题在这里已经有答案了 我想生成 1 到 13 之间的随机数而不重复 我用了这个方法 但是并不能保证没有信誉 for i 0 i lt 13 i array i 1 rand 13 请帮我 C语言 正如评论所说 Fill an arra
  • Android 单选按钮取消选中

    该应用程序是一个步进音序器应用程序 具有 16 个无线电组 每组有 8 个按钮 它工作得很好 除非一个组选择了一个按钮 否则我无法将其关闭 除非我使用我创建的清除按钮来清除所有无线电组 我想添加的是一些代码 它表示当再次选择选定的单选按钮时
  • 如何为 iOS 构建 OpenCV 2.4.9?

    我正在关注这些指示属于 openCV 文档 但它们确实已经过时了 提到了 iOS4 或 iOS5 XCode 4 2 安装在 Developer 中 等等 它没有构建 并且我有各种错误 所有初始测试均失败 Performing Test H
  • Angular JS 生成 PDF - 有创建者 - 制作者模块吗?

    正如标题所说 Angular 有 PDF 创建器 生成器吗 我见过https github com MrRio jsPDF 但找不到 Angular 的任何内容 我想将 html 页面制作为 pdf 文件以供下载 您可以将您提到的 Java
  • 无法在我的 C# 应用程序中添加静态端口映射

    我正在尝试在我的 C 应用程序中添加新的静态端口映射 因为我的应用程序作为服务器运行 并且我希望它侦听端口 8000 NATUPNPLib UPnPNATClass upnpnat new NATUPNPLib UPnPNATClass N
  • git:提交多个文件但添加消息

    我的存储库中有大量文件 有时我处理 20 个文件 并且想提交所有文件 但是 我想为每个添加一条消息 如何添加所有已更新的文件并为每个文件添加一条消息 而无需手动为每个文件运行命令 是否可以进行批量运行并提示我为每个运行添加一条消息 注意 您
  • 为什么人们捍卫正则表达式语法? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 有一个类似的问题 但它只是得到了人们总是给出的关于正则表达式语法的相同旧答案 但这不是这里的重点 所以请尽量不要下意识地提出关于正则表达式语法的相同旧答案 这次尝试更加原创和个性化 正则表
  • 将 RGB 颜色转换为英文颜色名称,例如使用 Python 的“green”

    我想将颜色元组转换为颜色名称 例如 黄色 或 蓝色 gt gt gt im Image open test jpg gt gt gt n color max im getcolors im size 0 im size 1 gt gt gt
  • 如何以编程方式设置 Admob appID (19.1.0)?

    Before 版本19 1 0 appID 可以通过编程方式设置 如下所示 MobileAds initialize Context context String appID 新方法是 initialize Context OnInitia
  • 从 VS 2015 和 EF7 的模型生成 SQLite 数据库

    我正在尝试利用 Entity Framework 7 和 SQLite 数据库文件制作 Windows Presenter Foundation 应用程序 我已经制作了 edmx 模型 但是当尝试生成模型时我无法建立 SQLite 连接 尝
  • 如何在百里香中转义双引号 " ?

    我想在 Thymeleaf 的字符串中添加双引号 我有以下形式的内容 td td 我想要的结果是 td Value of apple is 1 5 td 但我得到以下异常 EL1065E unexpected escape characte
  • z3 解数

    如何使用 z3 来计算解的数量 例如 我想证明对于任何n 方程组有 2 个解 x 2 1 y 1 1 y n 1 以下代码显示了给定的可满足性n 这不完全是我想要的 我想要任意的解决方案数量n usr bin env python from
  • 具有多个 Expects() 调用的 PHPUnit 模拟

    使用 PHPUnit 我想知道我们如何从同一个存根 模拟中获得多个期望 例如 我想测试模拟是否具有该方法display 调用并返回 NULL 我也想测试一下这个方法process 将被调用 事实上我的测试叫做testProcessIsCal