草庐IT

模拟IC

全部标签

php - 模拟静态 Eloquent 模型方法,包括 find()

我一直在关注一般的Mockery和PHP-Unit教程-包括JeffreyWay介绍的使用PHP-Unit和Mockery测试Laravel。然而,对于这个应用程序——我们可以接受对Eloquent的依赖,而不是创建一个存储库类。我们能够很好地模拟Widget模型的实例方法。但是,我们正在使用Route:model绑定(bind),我承认我不确定在测试Controller的show($widget)方法时如何模拟模型的find()方法。我读过https://github.com/padraic/mockery/wiki#mocking-public-static-methods文档,并

php - 如何模拟对象属性?

我正在尝试模拟属性,但无法让它工作。在这种情况下,我尝试模拟请求属性Symfony\Component\HttpFoundation\Request。根据thisanswer我应该为__get返回一个值以下代码一直显示NULL:$testRequest=$this->getMockBuilder('Symfony\Component\HttpFoundation\Request')->disableOriginalConstructor()->getMock();$testRequest->expects($this->any())->method('__get')->with($th

PHPUnit:在一次测试中对模拟方法使用多个断言是一种不好的做法吗?

我正在测试一个旨在测试用户是否拥有给定电子邮件的对象。因此,在调用“tryEmail”方法时,它会向给定的电子邮件地址发送一strip有确认链接的消息。我的测试看起来像这样:publicfunctiontestSendingWasSuccessful(){$confirmationObject=$this->getMock('LT\EmailConfirmation\Model\ConfirmationObjectInterface');$testType='test.type';$testEmail='test@example.com';$testData=[];//EmailTes

selenium+opencv实现模拟登陆(滑块验证码)

很多网站登录登陆时都要用到滑块验证码,在某些场景例如使用爬虫爬取信息时常常受到阻碍,想着用opencv的模板匹配试试能不能实现模拟登陆。本来觉得网上资料多应该还蛮容易,但实际上手还是搞了蛮久,在这里记录一下整个流程,网站无所谓主要是要有滑动验证码:环境python3.9,selenium和Opencv相关依赖,用于抓取图片的requests包,具体安装这里不多讲了,其中selenium用的火狐版本。selenium登录网站整体流程就是这个样子:访问网站->点击登录->输入账号密码->搞定滑块验证->登录网站,其中最大的难点是滑块验证码,但在此之前我们当然要先让selenium自动打开网站把账号

玩转华为ENSP模拟器系列 | 配置设备使用SNMPv2c与网管通信示例

素材来源:华为路由器配置指南一边学习一边整理试验笔记,并与大家分享,侵权即删,谢谢支持!附上汇总贴:玩转华为ENSP模拟器系列|合集_COCOgsta的博客-CSDN博客_ensp实验大全目标网管在管理设备时使用SNMPv2c版本保证互通,在互通的过程中限制该网管可以管理设备上的部分MIB节点。组网需求如图1所示,在网络中,用户的两个网管和路由器通过公网相连,由于业务的需求,用户规划网管NMS2可以管理路由器上的所有节点,网管站NMS1不再管理该路由器。NMS2管理路由器的过程中,为了方便对告警信息进行定位,避免过多的无用告警对处理问题造成干扰,用户只允许缺省打开的模块可以发送告警至NMS。由

PHPUnit:我如何模拟这个文件创建?

我想使用vfsstream模拟文件的创建classMyClass{publicfunctioncreateFile($dirPath){$name=time()."-RT";$file=$dirPath.'/'.$name.'.tmp';fopen($file,"w+");if(file_exists($file)){return$name.'.tmp';}else{return'';}}}但是当我尝试测试文件创建时:$filename=$myClass->createFile(vfsStream::url('/var/www/app/web/exported/folder'));我收

php - 模拟测试和 PHP 神奇的 __get 方法

我在尝试使用__get和__set方法(使用simpletest)模拟对象时遇到问题。为__get编写模拟响应闻起来不对-测试似乎与实现紧密相关。有什么测试建议,还是我应该完全避免使用魔术方法? 最佳答案 我遇到了同样的问题,并在SimpleTest测试用例中找到了解决方案:来自mock_objects_test.php:classClassWithSpecialMethods{function__get($name){}function__set($name,$value){}function__isset($name){}fun

php - 模拟打开大量链接

我知道这听起来像是黑帽SEO的一些尝试,也许这个问题的来源有一些接近于此的想法,但我问这个的原因是因为这个问题真的让我想知道它是否是可能。如果是这样,如何在不打开相同数量的新页面的情况下模拟打开大量唯一链接?任务是这样的-假设我们有一个包含5,000个链接的数据库,通过单击一个按钮,我想模拟打开每个链接,这样如果网站有一个webcounter,它就会递增(打开页面会被检测到),但同时用户页面上不会出现任何内容,它会保持原样,无需打开5,000个新页面或一次又一次地重新加载同一页面。如果这个问题不在程序员伦理范围内,我很抱歉。我出于好奇而问,如果这真的可能以及如何实现,我会很乐意阅读意见

php - 如何 mock 模拟内部方法

目标.phpgetData();returntrue;}publicfunctiongetData(){returnarray();}}目标测试.phpshouldReceive('getData')->once();$expected=$this->exp->validate();$this->assertTrue($expected);}}结果Mockery\Exception\InvalidCountException:应调用Mockery_1_ExpWarning的方法getData()恰好1次但被调用0次。我使用Mockery作为模拟工具,例子总是关于如何用DI模拟,我想知道

php - 在 PHPUnit 中模拟时在回调中通过引用传递

我有一个我想模拟的接口(interface),并模拟其中一个方法的行为。所以我创建了一个非常简单地模拟行为的回调。如果我创建一个基于此接口(interface)的新对象,则此测试通过,但我想模拟该接口(interface)。模拟的setUp方法被正常调用,并且在我的回调中调用getVar('testing')返回值。但是我的断言失败了,因为该值不可用。在PHPUnit中似乎不能这样做?除非我是傻子。代码流程的简要说明;“getVar”中的代码调用了一个方法,该方法在添加的插件上调用“setUp”。当它调用“setUp”时,它传入“$this”。这是我期望通过引用传递的$this,它适用