mocking相关内容

在单元测试中模拟蔚蓝斑点存储

是否可以在不运行存储仿真器的情况下模拟天蓝色blob存储?如果有人能解释一下这一点会很有帮助 推荐答案 存储库没有用于模拟的接口,因此如果您要真正模拟这一点,我认为您有两个选择: 您自己创建一个接口,并将与存储库的交互隐藏在您自己的类后面。然后使用您的接口进行模拟测试。这是我过去经常做的事情,试图将存储库的使用从应用程序的睡觉中抽象出来。当然,您可以在自己的代码中进行此抽象,或者 ..

改装2个模拟最佳实践

我对测试和TDD非常陌生,我决定使用Use Retrofit2-Mock来满足我的API模拟需求。 关于Mock Retrofit2的文档几乎不存在,我找到的唯一使用方法资源是2015年的article和2016年的answer。 其中使用了BehaviorDelegate类,该类不实现模拟的API接口,需要包装。 有没有更好的方式获取mock API服务? 还是我错过了全部要点,R ..
发布时间:2022-03-03 17:34:29 移动开发

reaction jest mock useNavigate()

"react-router-dom": "^6.0.0-alpha.5", 我几乎什么都试过了。 我只想模拟useNavigate()钩子中的这个navigate()调用。就这样。很简单。没有工作。 不,我不想使用Link。useNavigate在其他地方也以编程方式使用,我也想模拟它们 import React from 'react' import { useNavigate } ..
发布时间:2022-02-22 11:25:14 其他开发

如何更改被嘲弄的导入的行为?

我对Jest中的模拟和如何对实现进行单元测试感到相当困惑。问题是我想嘲笑不同的预期行为。 有没有办法做到这一点?由于导入只能位于文件的顶部,并且要能够模拟某些内容,因此必须在导入之前声明。我还尝试传递一个本地函数,以便可以覆盖行为,但是JEST抱怨您不允许传递任何本地函数。 jest.mock('the-package-to-mock', () => ({ methodToMock ..
发布时间:2022-02-20 18:47:50 前端开发

在 PHP 中在实例化自己的对象的函数中使用模拟对象

我一直在研究如何将单元测试覆盖率添加到用 PHP 编写的大型现有代码库中.静态类和可实例化类中的许多函数都会调用库或实例化对象,以获得与内存缓存和数据库的连接.它们通常看起来像这样: 公共函数 getSomeData() {$key = "SomeMemcacheKey";$cache = get_memcache();$results = $cache->get($key);如果(!$结果){ ..
发布时间:2022-01-25 14:26:52 PHP

何时使用存根/模拟,何时在单元测试中使用真实对象?

我最近试图提高我的单元测试技能并阅读了很多关于单元测试的文献,我还试图实现我在我目前正在使用 phpunit 开发的一个 php 项目中学到的东西.但在我看来,我仍然有一个非常基本的问题,如何对与其他类的对象甚至与同一类的其他方法交互的方法进行单元测试. 是否有一些经验法则或一些帮助我可以决定我应该存根/模拟哪些依赖项以及我应该简单地使用普通对象的依赖项?为了澄清我的问题,这是一个示例代码, ..
发布时间:2022-01-25 14:16:08 PHP

PHPUnit:我如何模拟这个文件系统?

考虑以下场景(这不是生产代码): 类 MyClass {公共函数 myMethod() {//创建一个目录$path = sys_get_temp_dir() .'/' .md5(兰德());if(!mkdir($path)) {抛出新异常(“mkdir()失败.");}//在该文件夹中创建一个文件$myFile = fopen("$path/myFile.txt", "w");如果(!$我的 ..
发布时间:2022-01-25 14:09:10 PHP

模拟 Laravel 的 Request::segment 方法

这与 this question 有关,但遵循该解决方案并没有解决我的问题.我也意识到 Laravel 自己的文档 声明你不应该模拟 Request 对象,但我不确定如何编写此测试. 这是我要测试的代码的外观: 公共函数 getThirdSegment(){返回请求::段(3);} 这是我目前进行的一项测试: /*** @测试*/公共函数 indexReturnsOk(){$this- ..
发布时间:2022-01-25 14:07:09 PHP

PHPUnit“模拟的方法不存在."当使用 $mock->expects($this->at(...))

我遇到了一个关于 PHPUnit 模拟对象的奇怪问题.我有一个应该被调用两次的方法,所以我使用了“at"匹配器.这在第一次调用该方法时有效,但由于某种原因,第二次调用它时,我得到“模拟方法不存在.".我以前使用过“at"匹配器,但从未遇到过. 我的代码如下所示: class MyTest 扩展 PHPUnit_Framework_TestCase{...公共函数 testThis(){$m ..
发布时间:2022-01-25 13:52:07 PHP