单元测试

Android Unit Test 框架比较

  这篇文章列举了现有常见的 Android 单元测试框架,并进行了简单的比较,方便用来进行框架的选型和收藏(毕竟只要收藏了本文,相当于收藏了各大单元测试框架的主页,是不是很棒棒?)。   框架对比的部分会带有一定的偏向性,不过光是把本文当做一个单元测试的工具箱也是蛮顺手的。   Java Tests   JUnit   JUnit 是基于 xUnit 架构实现的单元测试框架。雏形是1998年在 ... »

Vue的单元测试探索(二)

  对于 .vue 单文件组件的单元测试,一般的方法使用 Karma,配合 Webpack,headless browser,再加上你喜欢的测试框架(mocha、ava、jasmime、node-tap)。这个过程配置繁琐,而且需要 Webpack 把整个项目编译打包,再在 browser 上跑测试,执行过程也很慢。   而我期望中的测试方法应该像 JS 单元测试一样,构造组件实例,调用组件方法或... »

编写Android测试单元该做的和不该做的事

  在本文中, 我将根据我的实际经验,为大家阐述一个编写测试用例的佳实践。在本文中我将使用 Espresso 编码, 但是它们可以用到单元测试和仪器测试当中。基于以上目的,我们来研究一个新闻程序。   一个新闻 APP 应该会有以下这些 activity。   · 语言选择 – 当用户第一次打开软件, 他必须至少选择一种语言。选择后,选项保存在共享偏好中,用户跳转到新闻列... »

白盒测试怎么测?

白盒测试怎么测?

  白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。“白盒”法全面了解程序内部逻辑结构,对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测... »

写单元测试的12个好处

  「写单元测试的好处是什么?」   这个问题非常难以回答。通常只能得出「只有写了才知道」这种含糊不清的答案。   我近找到Tim King文章 ,非常完整的回答了这个问题。   看过之后觉得获益良多,翻译出来和大家分享。   为什么工程师会讨厌写单元测试?为什么他们会拒绝先写单元测试?不用解释了,那些接口我全听过。我知道真正的原因为何。   大部份的工程师根本没认真试过测试先行。不然是当下的环境... »

在实际项目中第一次使用单元测试总结

  之前我做过单元测试的博,但是在实际的项目中一直还没有使用。   因为之前的项目都是我一个人写的,但是单元测试的必要性真的不大,而且项目本身不难。   但是这次不一样,这次项目本身比较大,而且分工也很明确。   我负责的是服务层和数据层,也是说,与页面交互上面的代码需要使用我的服务。   也是说我没有拿页面测试我自己代码的情况了。   一开始我没有写单元测试,然后项目中每当有人说要用我服务的时候... »

Robolectric单元测试笔记

Robolectric单元测试笔记

  1、环境搭建(版本3.0)   Android单元测试需要JUnit框架的支持,Robolectric只是提供了Android代码的运行环境,测试还是需要junit来实现。配置如下:   testCompile 'junit:junit:4.10'   testCompile 'org.robolectric:robolectric:3.0'   然后在... »

单元测试和记录日志

单元测试和记录日志

单元测试是要满足各种条件,测试老师给的各种要求。无括号的情况为两个操作数的运算。2.实现文件的输入和屏幕输入。文件输入:3.有括号才有参与题目的数量,无括号为两位数的操作。我用的是循环嵌套,但是随机的符号没有在每个函数内随机,在顶头随机生成,下面递归了 ̄へ ̄!时间记录日志:缺陷记录日志: »

使用Microsoft Fakes进行单元测试(2)

使用Microsoft Fakes进行单元测试(2)

  2.使用Shim替换静态方法   假设我们需要一个工具方法用来格式化当前时间为字符串,因为DateTime.Now一直在变的所以我们需要隔离它,且DateTime是.NET内置的类型,所以我们根本不可能去修改它,但是有了MS Fakes一样可以隔离起来。   工具类:   简单的格式化一下然后返回。   在Tests项目下为System引用添加Fakes程序集   使用Shim来完成测试:  ... »

单元测试之破除依赖

  前言:单元测试的时候经常出现一个对象依耐另一个你无法控制的对象,所以这个时候你必须去替代成一个你自己可以控制的对象来摆脱依耐。   1:为什么要破除依赖   1.1:运行速度慢   比喻我们要通过用户Id判断用户是否存在,那么我们这个方法会依赖数据库。这样成了集成测试,如果大量的测试会出现速度慢。   1.2:需要配置   由于依赖数据库,会配置和数据库相关的文件。   1.3:一次性测试很多... »

边界测试

如果在边界测试中发现了处理某些特殊输入的代码缺失,应补充这些代码,并完成白盒覆盖。编码完成后,通过白盒覆盖统计和测试用例设计器找出其他等价类并且很容易地建立起测试用例,后用边界测试自动捕捉“漏网之鱼”。 »

私有方法的单元测试

  测试类的私有方法时可以采取两种方式:   1.修改方法的访问修饰符,将private修改为default或者public。(不推荐)。   2.在测试类中使用反射调用目标类的私有方法。(推荐)。   程序实例   一个计算加法的方法,是私有方法,在测试类中通过反射调用该方法进行测试.   PS:使用JUnit 3。   被测试的类:   package com.mengdd.junit;   ... »

单元测试Service使用mockito

import static org.junit.Assert.*; import static org.mockito.Mockito.*; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mocki... »

软件测试中单元测试主要内容是什么?

  单元测试大多数由开发人员来完成,测试人员技术背景较好或者开发系统软件时可能会安排测试人员进行单元测试,大多数进行的单元测试都是开发人员调试程序或者开发组系统联合调试的过程。讨论这个问题主要是扩充一下读者的视野。   单元测试一般包括四个方面的测试:   (1)模块接口测试:模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。模块接口测试也是集成测试的重点,这... »

软件测试中的单元测试之Service的测试

  测试Service,因为Service依赖的Dao,所以只需Mock一个Dao即可。在这里我详细的介绍关于注册这个功能的测试   java代码   public interface IAccountService extends IBaseService{   Account findAccountById(String id);   Account findAccounByName(Stri... »

利用单元测试框架进行单元测试

利用单元测试框架进行单元测试

  单元测试目的是为了保证代码按照程序员的预期运行,往往关注的是比其他测试更低的层次,从而确定代码的底层功能是否与期望一致。   对于API框架而言,单元测试的一个重要优点在于测试在编译阶段引入了依赖关系,从而使之更容易确定代码的更改是否会影响API表示的契约。   单元测试程序集与被测代码一般要分离开,这样可以保证在对应用程序代码进行部署时不包含单元测试,因为单元测试代码在产品环境中没有什么用。... »

如何通过单元测试提高开发效率?

  单元测试只会浪费时间吗?某些软件专家们确实是这么想的。近在Software Quality Insights上看到一篇文章——《单元测试真的有用吗?》。那些认为单元测试无用的开发人员给出了如下理由:   1.他们不了解单元测试。   2.很难写出的单元测试。   3.单元测试只会浪费时间、降低效率。   4.写单元测试需要太多时间(特别是频繁的迭代开发)。   5.回归... »

通信软件白盒测试的三种境界

  通信软件被普遍认为是白盒测试难实施的领域,一方面,通信软件以C语言为主体语言,先进的白盒测试技术尚未有效渗透到这个区域,另一方面,通信软件通常是嵌入式实时系统,搭建测试环境非常复杂,又加上通信软件通常体积庞大、结构复杂,把通信软件的单元测试或集成测试做好确非易事。   笔者有幸在通讯领域工作多年,近些年又因为咨询的关系与国内众多企业打交道,感触颇多。国内企业普遍对白盒测试没感觉也不重视,少数比... »

Mockito单元测试框架学习

  一、问题:如何将mock的类自动注入到待测类,特别是在没有setter方法的情况下。   解答:   前提:待测的service类及其依赖的其他类都是处在被spring管理中的。   做法:在测试类中,只要将待测的类标注为@InjectMocks,将其依赖的其他类标注为 @Mock,   可以使用MockitoAnnotations.initMocks(this);这句话自动将依赖的类注入待测... »

单元测试与集成测试的异同

单元测试和集成测试时IT软件开发过程中两个不同的阶段。单元测试是在软件编码前期进行的,先于集成测试;集成测试,是在系统即将开发完毕,对系统的是否正常运作进行测试。集成测试:则需要更多人的协调,侧重点会放到业务的处理上来,性能上也会有所考虑4、测试粒度不同单元测试的颗粒度是在单只程序上集成测试的颗粒度则在整个系统上 »

MSDN单元测试示例

  “Woodgrove Bank”示例由可置入简单程序的代码组成。然后可以生成测试 Woodgrove Bank 程序各种方法(公共和私有方法)的单元测试。   这些示例代码是为以下演练而提供的:   演练:创建并运行单元测试。此演练指导您通过一系列步骤来创建和自定义单元测试、运行单元测试以及检查测试结果。   演练:运行测试并查看代码覆盖率。此演练说明如何查看代码覆盖率... »

MockServer的测试思想与实现

  背景   在Linux后台服务类模块测试中,经常会遇到被测模块需要通过socket接口调用其它模块的情况,多数时候,我们可以直接连接被调用的模块来进行测试。但有时这并不是个好主意,比如被调用的模块部署成本很高、操作比较繁琐、数据构造困难、性能不够好等,更重要的是一些接口的异常情况可能根本无法直接模拟。   所以在实际测试中,我们少不了要自己编写一些桩程序来模拟被调用模块的行为。而当我们写过几个... »

程序的单元测试?软件工程课上所获得的感悟

  现在说单元测试,那么什么是单元测试呢?单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。   课堂上王老师给了我们一个例子。查找list[]中的大值:int Largest(int list[], int length);并给出了测试函数的代码:   int Larges... »

所有代码都需要单元测试覆盖吗?

所有代码都需要单元测试覆盖吗?

   单元测试(unit  testing)已经越来越得到广大开发者的认可。作为低成本、速度快、稳定度高的自动化测试手段,单元测试可以在类和函数级别对代码进行质量守护,有助于避免尴尬、耗时的错误。当然,相比功能测试(Functional testing)和端到端测试(end-to-end testing),单元测试能够寄予的产品级别的信心要略低一些,因而各个粒度的测试应该是相辅... »

三层架构之解耦和单元测试

三层架构之解耦和单元测试

  依赖注入DI很大程度的帮助测试单元化。这对层与层之间的依赖关系,几乎是真理。   如对数据读写的依赖关系,用IRepository替换之后,所有用到IRepository的类,如Serivce这一层的ExamService,在测试时,只需要传入一个Mock的IRepository类,不需要使用真实的数据库对它测试了.   我们的另外一层Controller也用到Service这一层,同样我为S... »

Page 1 of 29123»