![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单元测试
文章平均质量分 92
阿星君
这个作者很懒,什么都没留下…
展开
-
摇摆不定的测试。摆脱测试中的恶梦
有一个寓言故事,这些天我经常想起。这则寓言是在我小时候告诉我的。它被称为伊索的 "狼来了的男孩"。它讲述了一个在村子里放羊的男孩。他觉得无聊,就假装有狼在袭击羊群,向村民们求救--但他们失望地发现这是一场虚惊,便不再理睬这个男孩。然后,当狼真的出现,男孩呼救时,村民们认为这又是一场虚惊,没有前来救援,羊群最终被狼吃掉了。这个故事的寓意由作者本人作了最好的总结。"骗子是不会被相信的,即使他说的是实话"。狼袭击了羊群,男孩哭着求救,但经过无数次的谎言,已经没有人相信他了。这个寓意可以适用于测试。原创 2021-07-03 14:31:19 · 310 阅读 · 4 评论 -
单元测试和 benchmark
在写每个功能的时候,都会涉及到编写测试代码。那是因为 TDD(Test-Driven Development,测试驱动开发)中提倡先编写测试代码,然后再编写功能代码,每做一个修改后,都要执行一次单元测试和基准测试,以此来验证功能和性能是否有问题。特别是业务系统代码经常变更,单元测试和基准测试也就显得非常重要。而每种语言都有自己的测试框架,比如 Go 语言,它是一门注重工程效率的语言,有着非常强大的工具链,它自带的测试框架,能满足我们大部分测试要求。所以,这里介绍如何使用 Go 测试框架做性能测试中的原创 2021-07-02 16:31:50 · 447 阅读 · 1 评论 -
测试开发必备技能:Mock的使用
1. 背景在实际产品开发过程中,某个服务或前端依赖一个服务接口,该接口可能依赖多个底层服务或模块,或第三方接口,比如说服务 A 依赖服务B,服务B又依赖服务 C,如下图所示:这种依赖的问题会导致原本的需求目的是要验证服务A,但由于所依赖的服务B或者服务C不稳定或者未开发完成,导致工作无法正常开展。那作为测试工程师,面对这样的情形,我们该怎么办呢?解决这类问题的核心的思路:引入依赖服务替身,更通俗的叫法,引入Mock服务。今天就结合unittest框架,给大家分享一些关于Mock的一些常见..原创 2021-07-02 16:26:48 · 367 阅读 · 0 评论 -
React 单元测试策略及落地 #一篇就够系列
写好的单元测试,对开发速度、项目维护有莫大的帮助。前端的测试工具一直推陈出新,而测试的核心、原则却少有变化。与产品代码一并交付可靠的测试代码,是每个专业开发者应该不断靠近的一个理想之地。本文就围绕测试讲讲,为什么我们要做测试,什么是好的测试和原则,以及如何在一个 React 项目中落地这些测试策略。本文使用的测试框架、断言工具是 jest。文章不打算对测试框架、语法本身做过多介绍,因为已有很多文章。本文假定读者已有一定基础,至少熟悉语法,但并不假设读者写过单元测试。在介绍什么是好的单元测试时,我会简单原创 2021-07-01 16:43:37 · 437 阅读 · 1 评论 -
Java测试框架系列:PowerMock使用系列-5:Mock策略
Mock策略总览在类上使用@RunWith(PowerMockRunner.class)注解。 在类上使用@MockPolicy(MyMockPolicy.class)注解。示例可以使用Mock策略使得与PowerMock隔离的某些框架的代码的单元测试变得更容易。Mock策略的实现可以是如抑制某些方法,抑制静态初始化程序或拦截方法调用,并更改某些框架或一组类或接口的返回值(例如,返回模拟对象)。例如,可以实施Mock策略来避免为测试编写重复的设置代码。假设您使用的是框架X,并且要对其...原创 2021-06-28 16:39:42 · 559 阅读 · 0 评论 -
Java测试框架系列:PowerMock使用系列-3:抑制不想要的行为
抑制不想要的行为总览在测试用例的类上使用@RunWith(PowerMockRunner.class)注解。 在测试用例的类上结合使用@PrepareForTest(ClassWithEvilParentConstructor.class)和suppress(constructor(EvilParent.class))注解,以禁止调用EvilParent类的所有构造函数。 使用Whitebox.newInstance(ClassWithEvilConstructor.class)方法去实...原创 2021-06-28 16:33:22 · 576 阅读 · 0 评论