PHPUnit 模拟对象的属性

2024-06-22

我正在寻找一种模拟对象并填充其属性的方法。 下面是使用另一个对象的属性的方法的示例:

class MyClass {

    private $_object;

    public function methodUnderTest($object) {
        $this->_object = $object;
        return $this->_object->property
    }
}

为了对这个方法进行单元测试,我应该创建一个模拟$objectgetMockBuilder()方法来自PHPUnit。但我找不到一种方法来模拟$object,只是方法。


要向模拟对象添加属性,您只需像通常处理对象一样设置它们:

$mock = $this->getMockBuilder('MyClass')
             ->disableOriginalConstructor()
             ->getMock();

$mock->property = 'some_value';

$mock->property现在将返回'some_value'

谢谢akond

附注对于我的项目,这不适用于某些类,当我尝试调用$mock->property它只是返回NULL

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHPUnit 模拟对象的属性 的相关文章

随机推荐

  • jquery ui 滑块范围修复为 RTL

    我想将 Jquery 滑块范围更改为 RTL 我正在使用这个 http jqueryui com slider range http jqueryui com slider range Jquery代码 function slider ra
  • 使用鼠标按钮的 Eclipse 后退/前进导航

    Visual Studio 有一个名为的插件鼠标导航 http www codeproject com KB macros MouseNavi aspx它允许您使用鼠标拇指按钮来浏览您的历史记录 Eclipse 是否存在类似的扩展 我不知道
  • 如何在 jquery for firebase 中实现图像弹出窗口

    我遇到了一些麻烦 因为我不知道如何在 jquery for firebase 中实现图像弹出窗口 我在互联网上搜索过 但没有找到如何在动态网站上实现它的方法 我有以下 jquery 代码 有人可以帮忙吗 我还没有在 stackoverflo
  • NameID 元素必须作为主题的一部分出现

    嘿 我正在尝试使用我的服务提供商配置 IDP 但是当 saml 响应来自 IDP 时 我在我的服务提供商中收到此错误 org opensaml common SAMLException NameID 元素必须作为响应消息中主题的一部分出现
  • 在 python 中保存 3D NetworkX 图以便稍后使用 paraview 查看

    我编写了这个脚本 它使用 python 中的 NetworkX 绘制随机 3D 图形 该脚本的输出是一个 3D 图形 我可以在其中围绕图形结构旋转相机 import networkx as nx from mpl toolkits mplo
  • 理解“git remote show”命令输出...“为‘git push’配置的本地引用”的含义是什么?

    我有两个遥控器和两个本地分支机构 本地分支 master 正在跟踪远程分支 origin master 本地分支 mirror 正在跟踪远程分支 github master 这是在我的 git config 文件中 remote origi
  • Swt 组合框名称/密钥对

    我想让文字说一件事 但让值说另一件事 Text Key 但它只需要一个字符串来添加项目 Java 程序员通常如何在组合框中存储文本 id 对 也许您可以使用组合框的 setData String key Object value 方法来实现
  • 如何打印本地时区的日期时间?

    假设我有一个变量 t 设置为 datetime datetime 2009 7 10 18 44 59 193982 tzinfo
  • .NET Framework 4.5 操作系统要求(无 Vista 和 XP)[已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 现在 NET Framework 4 5 仅在 Windows 7 及更高版本上运行 http msdn microsoft com en
  • Jupyter Lab 中的多光标编辑

    以前 为了在 Jupyter Notebook 中启用多光标编辑 我使用了自定义 JS 片段 require codemirror keymap sublime notebook js cell base js namespace func
  • 加载部分模板 Ajax - 使用 Grails

    我正在创建一个 grails web 应用程序 并且有主索引 gsp 并且有几个通用组件 这些组件在我使用部分模板的网站上的大多数页面中都是通用的 每个部分模板都将是非常独立的 并且包含非常不同的信息 因此每个部分模板都应该从不同的控制器获
  • Paypal 开发人员 - 无法创建沙盒企业帐户以及错误消息

    我试图通过首先创建两个 个人和企业 沙盒帐户来设置 Paypal 开发应用程序 然而它只显示 facilitator 当我点击企业帐户的个人资料时 出现以下错误消息 我们在创建此沙盒帐户时遇到了一些问题 请删除它并重试 不幸的是 该帐户旁边
  • 从图像中提取特定文本关联值

    我有一个图像 我想从图像中提取键和值对的详细信息 例如 我想提取 MASTER AIRWAYBILL NO 的值 我已编写使用 python opencv 和 OCR 从图像中提取整个文本 但我不知道如何从图像的整个结果文本中仅提取 MAS
  • 嵌套 json 到 pandas 非常慢

    我正在尝试转换 321MB将 json 文件嵌套到 pandasDataframe这需要我非常非常很长时间以来 我确信有一种更快的方法可以做到这一点 这是我的代码 数据如下所示 js dict data 0 5 d datetime 201
  • 如何在 iPhone 应用程序中本地化捆绑包显示名称?

    如何本地化 iPhone 应用程序的捆绑包显示名称 iPhone 主屏幕应用程序图标下显示的名称 我希望有一个可以多语言显示的二进制捆绑包 以下是一些说明 创建一个新的空文件 名为InfoPlist strings 打开导航器 cmd op
  • 在 Node.js 中用 Promise 替换回调

    我有一个简单的节点模块 它连接到数据库并具有多个接收数据的函数 例如此函数 dbConnection js import mysql from mysql const connection mysql createConnection ho
  • 更新 Angularjs 和 Momentjs 中的“时间之前”值

    原文 我有一个用 ng repeat 生成的表 其中包含数百个条目 其中包含几个不同的 unix 时间戳 我使用 moment js 让它们显示为 19 分钟前 或无论多久之前 例如 我如何每五分钟更新一次 而不必刷新整个表 这需要几秒钟并
  • Cassandra 无法创建 Java 虚拟机

    我在 Mac 操作系统上运行cassandra f并立即发生这种情况 0 002s warning gc Xloggc is deprecated Will use Xlog gc usr local apache cassandra 3
  • 是否可以访问函数的闭包?

    JavaScript 中的函数通过保留指向其封闭范围的 隐藏 链接来形成闭包 当我们拥有该函数 作为变量值 时 是否可以以编程方式访问它 真正的目标是理论上的 但演示可能是列出闭包的属性 var x function var y 5 ret
  • PHPUnit 模拟对象的属性

    我正在寻找一种模拟对象并填充其属性的方法 下面是使用另一个对象的属性的方法的示例 class MyClass private object public function methodUnderTest object this gt obj