首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏听Allen瞎扯淡

    Mock 与 Stub

    我无意把大师的话再复述一遍,所以在本文中我就聊聊我对Mock与Stub的理解以及一些实践。 相同点 先看看两者的相同点吧,非常明确的是,Mock和Stub都可以用来对系统(或者将粒度放小为模块,单元)进行隔离。 先看看两者的相同点吧,非常明确的是,Mock和Stub都可以用来对系统(或者将粒度放小为模块,单元)进行隔离。 不同点 Mock和Stub有两个主要区别: 校验测试结果的方式不同,Mock倾向于校验行为(Beahavior verification),Stub倾向于校验状态; Mock和Stub也代表了两种将测试与设计结合在一起的理念 上面的说法比较抽象,让我们通过例子来看看Mock与Stub的区别。 使用Stub进行单元测试 下面是一个使用Stub进行单元测试的例子,我们打算创建一个订单对象,并用仓库中的货物填充这个订单。

    1.7K20发布于 2018-09-10
  • 来自专栏Golang语言社区

    Golang Stub初体验

    闭包的特性使得笔者想到了Stub,于是开始了本文的体验。 设计 物理设计 stub位于test目录下,和*test目录或文件并行为*stub,比如 test/infra-test/os-encap-test/exec_test.go ==> test/infra-stub : // test/infra-stub/oscap-stub/exec_stub.go func ExecInject(output string, err error) { osencap.Exec 验证 我们共写四个UT用例来验证Stub是否生效,前两个用例针对Stub函数,后两个用例针对Stub序列函数,需要考虑原函数的备份和恢复,即在stub前备份,在测试完成后恢复。 本文借助闭包的特性对底层的操作函数进行打桩,根据场景的不同将打桩函数分为Stub函数和Stub序列函数,简单实用,希望对读者有一定的启发。

    1.6K90发布于 2018-03-28
  • 来自专栏网络技术联盟站

    OSPF技术点:STUB区域

    STUB区域是一些特定的区域,STUB区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。 STUB区域是一种可选的配置属性,但并不是每个区域都符合配置的条件。通常来说,STUB区域位于自治系统的边界,是那些只有一个ABR的非骨干区域。 为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给STUB区域中的其他非ABR路由器。 配置STUB区域时需要注意下列几点: 骨干区域不能配置成STUB区域。 如果要将一个区域配置成STUB区域,则该区域中的所有路由器都要配置STUB区域属性。 STUB区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。 虚连接不能穿过STUB区域。

    62310编辑于 2023-03-13
  • 来自专栏python3

    python使用stub模块调用wcf

    对官方例子的简单解释:http://ully.iteye.com/blog/1266320

    82320发布于 2020-01-13
  • 来自专栏算法微时光

    android之stub使用介绍

    image.png 什么是stub 存根类是一个类,它实现了一个接口,但是实现后的每个方法都是空的。 如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。 String... sarr); public void add(String... sarr); //Lots of other methods I don't need now } stub 类: public class Repo extend IRepo.Stub { @Overread public void add(String... sarr) { } }

    1.7K20发布于 2021-01-13
  • 来自专栏灰子学技术

    Go单元测试(二):stub和mock

    在知道了stub和mock存在的原因之后,我们就需要进一步的研究stub和mock了。 首先,我们需要知道它们是什么?其次,我们需要知道它们有什么区别? Stub: 是桩的意思,指的是在测试包中创建一个模拟方法,用于替换生成代码中的方法。 二、例子 这些例子比较简单,都只是为了演示mock和stub的使用。 2. stub例子: 使用stub做单元测试的话,代码是侵入式的,需要将对应的函数做成回调函数的方式,以方便后续的测试代码可以将这个函数替换成,测试希望指定的功能实现。 )mock和stub都是采用替换的方式来实现,被测试的函数中的依赖关系,不过mock采用的是接口替换的方式,stub采用的是函数替代的方式。 小结:通过上面的三个例子来看,mock和stub各有优缺点,而mock和stub的结合,是一种很不错的实践方式,不过最终使用那种方式去设计测试用例,还取决于具体的场景。

    1.1K30编辑于 2023-10-30
  • 来自专栏乐沙弥的世界

    Nginx内置状态信息(http_stub_status)

    这个内置功能由模块ngx_http_stub_status_module实现。如果在安装的过程中没有启用该模块,则无法使用其状态信息。本文主要描述这个状态页面的启用以及相关状态值描述。 CentOS release 6.7 (Final) # /u01/app/nginx/sbin/nginx -v nginx version: nginx/1.8.1 查看是否启用了with-http_stub_status_module with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module app/nginx/conf/conf.d/nginx_status.conf server { listen 10061; location /nginx_status { stub_status 嵌入式变量 该ngx_http_stub_status_module模块支持以下嵌入式变量(1.3.14): $connections_active   与Active connections值相同

    1K20发布于 2018-08-06
  • 来自专栏运维经验分享

    nginx开启stub_status模块配置方法

    nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认没有安装,需要编译安装。 nginx开启stub_status模块配置方法如下: 1)查看nginx时候有安装该模块。 2)安装stub_status模块 (注意:有的话可以忽略此步骤,就不用安装了) nginx有一个统计功能模块,编译安装的时候加上参数 "--with-http_stub_status_module /configure --with-http_stub_status_module 3)修改nginx配置文件 在server块下面加上如下配置: #性能统计 add@2017-12-13 location /nginx_status{ stub_status  on; access_log    off; } 4)重启nginx 修改配置文件后,先检查配置文件语法是否正确

    3.4K20发布于 2019-03-11
  • 来自专栏全栈程序员必看

    Eclipse中取消生成TODO Auto-generated method stub

    创建一个新方法eclipse会自动生产“TODO Auto-generated method stub”一句话,可我们有用不到,需要手动删掉,那么怎么不让eclipse自动生成这句话呢?

    58020编辑于 2022-06-30
  • 来自专栏Linux内核及编程语言底层相关技术研究

    linux内核启动流程分析 - efi_stub_entry

    接上一篇文章 linux内核启动流程分析 - efi_pe_entry,我们继续看efi_stub_entry函数。 ? 该函数比较特殊,是用汇编写的,下面我们来逐行分析下。 我们继续看efi_stub_entry中的第三行代码,它是通过call指令,调用efi_main函数,执行efi_main里的逻辑。 好,efi_stub_entry函数的第二行代码就已经说明白了,我们继续看第三行。 首先,efi_stub_entry在调用该方法时,寄存器rdi, rsi, rdx里的值都没有改变,还是efi_pe_entry调用efi_stub_entry时传递的那些值,所以根据上述calling 到这里,efi_stub_entry函数的内容就都讲完了,希望大家能有所收获。

    3K21发布于 2020-06-29
  • 来自专栏后端开发

    计算机科学中 Stub 的概念与应用

    Stub 是计算机科学中一个重要的概念,广泛应用于分布式系统、软件开发与测试中。理解 Stub 对于设计灵活、高效的软件系统至关重要。 通过引入 Stub,这些细节被封装起来。客户端 Stub 实现:客户端代码只需调用 Stub 中定义的方法,例如 stub.add(2, 3)。 Stub 的实际应用场景软件测试中的 Stub在单元测试中,Stub 用于隔离测试目标组件与外部依赖。例如,测试一个购物车模块时,可能涉及与支付系统交互的逻辑。 Stub 与其他技术的比较Stub 通常与 Mock、Fake 等概念混淆。以下是它们之间的区别:Stub:主要关注替代真实组件,返回预定义结果,通常用于测试输入输出。 性能:Stub 应该轻量高效,不能成为性能瓶颈。清晰的边界:明确 Stub 的使用场景,避免滥用,导致测试结果失真。

    65800编辑于 2025-01-01
  • 来自专栏手写JVM专栏

    call_stub竟然这么玄乎!

    关注硬核子牙: 聊点啥 这篇文章想跟大家聊聊Hotspot源码的call_stub,如图 [ab90v84lp2.png? 开始卷 点开call_stub,是一个函数,长这样,函数体是一个宏 [l95o8e4qdy.png? 1651811729&q-header-list=&q-url-param-list=&q-signature=89f36f3b13625b4807f8fc20cd2fbc3e99a6cc1c] _call_stub_entry

    57930编辑于 2022-05-09
  • 来自专栏开源部署

    Nginx解读内置非默认模块 ngx_http_stub_status_module

    1 Background http://nginx.org/en/docs/http/ngx_http_stub_status_module.html ngx_http_stub_status_module 默认情况下这个模块是不被编译进来的,所以在编译 Nginx 时要指定加载该模块: --with-http_stub_status_module 为什么拿它做例子? 那么以后我们讲解模块的过程,都是: 简要的介绍 使用的实例 指令介绍 源码分析 2 Simple example location /nginx_status { stub_status on; 语法:stub_status on 作用域:location 功能:统计这个 location 的信息。 4.1 模块定义 ngx_http_stub_status_module ngx_module_t ngx_http_stub_status_module = { NGX_MODULE_V1,

    1.2K20编辑于 2022-07-24
  • 来自专栏osc同步分享-java技术分享站

    spock测试桩mock和stub的区别及使用场景

    在使用spock进行单元测试时,有如下情景,分别可使用stub和mock。 使用stub测试桩 如果我们需要测试A方法,但是E方法目前还没办法调用,或者还没开发完成。 这种场景下,就可以使用stub测试桩。stub测试桩可以给E方法模拟一个或多个假的返回值,我们测试时只需要调用stub对象的E方法即可,调用后的返回值是我们在生成stub对象时指定的。 如下: def "Stub 测试桩"() { given: "构造测试桩" CalculateInterface calculateService = Stub( 以上是spock中stub测试桩的使用场景,总结为一句就是: stub测试桩给被调用者( 方法/模块)制造假的返回值,以便不影响调用者的测试。 mock和stub测试桩的对比 mock测试桩用于检测结果。 stub测试桩用于提供测试的条件。

    4.5K50发布于 2019-09-12
  • 来自专栏Eureka的技术时光轴

    优化Linux bootloader速度的究极之路:从GRUB到EFI Stub

    其实Linux本身很早就加入了UEFI的支持(Kernel 3.3),叫做EFI Stub。 实战EFI Stub 现在的虚拟机VMWare和VBOX都全面支持了UEFI,通过它们可以很方便的实验EFI Stub。需要注意的是它们缺省UEFI启动都是关闭的,我们要单独打开。 下面是重点:开启EFI Stub。EFI stub的位置在 ? ? 4. EFI stub的缺点 没有了GRUB的等待直接启动Linux当然可以速度飞快,这也是目前很多嵌入式Linux的做法,他们还通过精简编译选项将kernel调整的很小,ramdisk也很小甚至没有。 但用EFI stub也有自己的缺点,主要是: 1. Linux内核和ramdisk要放在ESP中。

    4K41发布于 2020-08-11
  • 来自专栏一个会写诗的程序员的博客

    Go 接口嵌套组合的使用方法 & gomock 测试 stub 代码生成

    RocketFetcher{ &service.BasicInfoServiceImpl{}, &driver.NavigatorDriver{}, } } gomock 测试 stub

    1.1K40编辑于 2022-06-05
  • 来自专栏Android、鸿蒙开发

    Android 连接低功耗蓝牙出现 Caught a RuntimeException from the binder stub implementation.

    Caught a RuntimeException from the binder stub implementation. W/Binder: Caught a RuntimeException from the binder stub implementation. at android.os.Parcel.readException(Parcel.java:1998) at android.bluetooth.IBluetoothGatt$Stub android.bluetooth.BluetoothGatt$1.onClientRegistered(BluetoothGatt.java:199) at android.bluetooth.IBluetoothGattCallback$Stub.onTransact

    1.8K10编辑于 2022-06-09
  • 来自专栏java 微风

    解决:Throwable:Stub index points to a file without PSI: com.intellij.openapi.fileTypes.UnknownFileType

    IDEA 报错:stub index point to a file without PSI 并且IDEA 中左边栏部分内容不断刷新,死循环一般的闪 ...

    83330发布于 2019-08-14
  • 来自专栏10km的专栏

    OpenCL ICD Loader运行测试暨解决报错:ERROR: App log and stub log differ.

    Add driver stub as an ICD echo full/path/to/libOpenCLDriverStub.so > /etc/OpenCL/vendors/test.icd Add driver stub as an ICD by adding appropriate registry value Key for 32-bit apps: HKEY_LOCAL_MACHINE download\Devtools\opencl\OpenCL-ICD-Loader-master.vs15\bin\Debug>icd_loader_test.exe ERROR: App log and stub ICD Loader Test FAILED ERROR: App log and stub log differ. /test/driver_stub/cl.c文件,找到clCreateImage2D函数,在test_icd_stub_log调用参数表后最增加一个errcode_ret,详见下面代码片段中的中文注释。

    79110编辑于 2022-05-07
  • 来自专栏luxixing

    编译安装 nginx的http_stub_status_module监控其运行状态

    步骤: 1 编译nginx,加上参数 --with-http_stub_status_module 以我自己的编译选项为例: #配置指令 . -http-uwsgi-temp-path=/usr/local/var/tmp/nginx/uwsgi --with-http_geoip_module --with-http_stub_status_module nginx配置文件,添加监控状态配置 在nginx.conf的server块中添加如下代码 location /nginx_status { # Turn on nginx stats stub_status

    1.4K50发布于 2019-05-29
领券