单元测试

service层单元测试可以成功,web层测试却不成功,如何解决?

南楼画角 提交于 2019-11-27 16:19:06
service层单元测试可以成功,web层远程测试却不成功,如何解决? 原因: 1.web层方法调用不正确或参数不正确; 2.web层远程测试的代码与service单元测试得代码不一致。 解决: 1.检查自己方法调用是否正确以及参数是否正确; 2.首先检查自己改动过的代码是否commit并且push到远程; 3.如果已经commit并且push到远程,检查代码是否已经发布到web层测试的环境。 4.一定要保证service层测试环境的代码和web层测试环境的代码一致,否则只能像我一样走弯路,一直以为是自己的代码有问题,执着改代码,浪费时间还没有效果。 来源: https://blog.51cto.com/13678728/2430422

Junit单元测试

十年热恋 提交于 2019-11-27 15:20:53
文章目录 1. 测试分类 2. Junit 的使用(白盒测试) 2.1 使用步骤 2.2 判定结果 2.3 测试方法前后执行 3. 实验成果 1. 测试分类 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 白盒测试:需要写代码的,关注程序具体的执行流程。 2. Junit 的使用(白盒测试) 2.1 使用步骤 定义一个测试类 包名:xxx.xxx.xx.test 如:com.zt.test 测试类名:被测试的类名Test 如:CalculatorTest 定义测试方法 方法名:test测试的方法名 如:testAdd() 返回值:void 参数列表:空参 给方法添加 @Test ,这样方法才可以独立运行 导入 JUnit4 依赖环境 2.2 判定结果 红色:失败 绿色:成功 一般我们会使用断言操作来处理结果,具体代码如下: Assert . assertEquals ( 期望的结果 , 运算的结果 ) ; 2.3 测试方法前后执行 @Before:修饰的方法会在测试方法执行之前被自动执行 @After:修饰的方法会在测试方法执行之后自动被执行 3. 实验成果 来源: https://blog.csdn.net/bm1998/article/details/95895793

如何使用jmockit进行单元测试

时间秒杀一切 提交于 2019-11-27 14:50:56
1. Jmockit简介 JMockit 是用以帮助开发人员编写测试程序的一组工具和API,它完全基于 Java 5 SE 的 java .lang.instrument 包开发,内部使用 ASM 库来修改Java的Bytecode。正是由于基于instrument,可以修改字节码。所以这也是它强大的原因。 Jmockit可以mock的种类包含了: 1. class(abstract, final, static) 2. interface 3. enum 4. annotation 5. native Jmockit 有两种mock的方式: 1. Behavior-oriented(Expectations & Verifications) 2. State-oriented(MockUp<GenericType>) 通俗点讲,Behavior-oriented是基于行为的mock,对mock目标代码的行为进行模仿,更像 黑盒测试 。State-oriented 是基于状态的mock,是站在目标 测试 代码内部的。可以对传入的参数进行检查、匹配,才返回某些结果,类似白盒。而State-oriented的 new MockUp基本上可以mock任何代码或逻辑。非常强大。 (这段介绍来自网络转载) 2. Jmockit实践 使用jMockit首先要引用相关的jar包

Python项目中的单元测试

做~自己de王妃 提交于 2019-11-27 13:12:59
引入 单元测试负责对最小的软件设计单元(模块)进行验证, unittest 是Python自带的单元测试框架。 单元测试与功能测试都是日常开发中必不可少的部分,本文演示了Python中 unittest 单元测试框架的基本使用。 一个简单的测试例子 定义一个类,简单的实现 add 、 sub 两个方法,并对其进行单元测试。 待测试的 m1.py 文件内容如下: class MyClass(object): """just a test case""" def __init__(self, x, y): self.x = int(x) self.y = int(y) def add(self): return self.x + self.y def sub(self): return self.x - self.y 在与 m1.py 同级的目录下创建 test.py 测试文件,使用 unittest 单元测试框架对A类的方法进行测试。代码内容如下: import unittest from m1 import MyClass class MyClassTest(unittest.TestCase): def setUp(self): self.calc = MyClass(7, 5) def tearDown(self): pass def test_add(self): ret =

IntelliJ IDEA使用JUnit单元测试

て烟熏妆下的殇ゞ 提交于 2019-11-27 09:22:29
转载: https://www.cnblogs.com/huaxingtianxia/p/5563111.html 单元测试的基本使用 一、环境配置 使用idea IDE 进行单元测试,首先需要安装JUnit 插件。 1.安装JUnit插件步骤 File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装。 2.使用JUnit插件 在需要进行单元测试的类中,使用快捷键alt+insert,选择JUnit test,选择JUnit4。 二、单元测试 代码Demo:   @Test public void testAdd() { assertEquals(2, new UserDao().add(1, 1)); } 1>注意事项:     1、测试方法上面必须使用@Test注解进行修饰。     2、测试方法必须使用public void 进行修饰,不能带有任何参数。     3、新建一个源代码目录用来存放测试代码。     4、测试类的包应该与被测试类的包保持一致。     5、测试单元中的每一个方法必须独立测试,每个测试方法之间不能有依赖。     6、测试类使用Test做为类名的后缀(非必要)。     7、测试方法使用test作为方法名的前缀(非必要)。 2>错误解析:

JUnit单元测试基本用法

杀马特。学长 韩版系。学妹 提交于 2019-11-27 08:21:50
测试分类 黑盒测试:检测程序的每个功能是否能够正常使用。不考虑程序结构和特性,通过程序接口输入值,看能否得到期望的值。 白盒测试:考虑程序结构和特性,关注程序具体的执行流程。 JUnit单元测试: JUnit是一个Java语言的单元测试框架。Junit测试是白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。 JUnit使用流程: 定义测试类 建议规范:类名:被测试的类名+Test; 包名:xxx.xxx.test 定义测试方法 建议规范:方法名:test+被测试的方法名;没有返回值,没有参数。 给方法添加@Test 导入JUnit 1 package com.learning.junit; 2 3 /** 4 * 创建一个计算器类 5 */ 6 public class Calculator { 7 /** 8 * 加法 9 * @param a 10 * @param b 11 * @return 12 */ 13 public int add(int a, int b) { 14 return a + b; 15 } 16 17 /** 18 * 减法 19 * @param a 20 * @param b 21 * @return 22 */ 23 public int sub(int a, int b) { 24 return a -

Junit单元测试

自作多情 提交于 2019-11-27 07:57:05
一、Junit基本注解**@Before、@After、@Test、@BeforeClass、@AfterClass**,中集中基本注解。 @BeforeClass – 表示在类中的任意public static void方法执行之前执行 @AfterClass – 表示在类中的任意public static void方法执行之后执行 @Before – 表示在任意使用@Test注解标注的public void方法执行之前执行 @After – 表示在任意使用@Test注解标注的public void方法执行之后执行 @Test – 使用该注解标注的public void方法会表示为一个测试方法 来源: https://blog.csdn.net/qq_28923483/article/details/99574878

单元测试

空扰寡人 提交于 2019-11-27 05:08:55
定义 :   单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。   单元测试( 模块测试 )是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。   工厂在组装一台电视机之前,会对每个元件都进行测试,这,就是单元测试。   其实我们每天都在做单元测试。你写了一个函数,除了极简单的外,总是要执行一下,看看功能是否正常,有时还要想办法输出些数据,如弹出信息窗口什么的,这,也是单元测试,把这种单元测试称为临时单元测试。只进行了临时单元测试的软件,针对代码的测试很不完整,代码覆盖率要超过70%都很困难,未覆盖的代码可能遗留大量的细小的错误,这些错误还会互相影响

SonarQube系列二、分析dotnet core/C#代码

限于喜欢 提交于 2019-11-27 04:38:26
【前言】 本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目。目录如下: SonarQube系列一、Linux安装与部署 SonarQube系列二、分析dotnet core/C#代码 SonarQube系列三、如何集成jenkins实现分析自动化 【实现功能】   这篇文章将要介绍的主要内容如下: sonarqube分析.netcore项目下的C#代码 sonarqube生成单元测试报告(代码覆盖率) 【SonarQube分析C#代码】 1.sonarqube账号token的生成 sonarqube支持生成用户token,以便在命令行或者脚本中使用token代表账号操作sonarbue,避免造成账号密码的泄露。 点击sonarqube首页右上角头像,进入我的账号 然后进入安全tab页,随便输入个标识,点击生成,生成一个账号专属的token 生成的token只会显示一次,且后续无法查询,因此先把他手动备份下来,后续会用到。 2.安装netcore分析器 分析netcore项目,微软和sonar一起协作做了很多工作,大大简化了我们的工具使用,官网可以查看相关工具及命令: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-msbuild/ 我们按照官方提示

Spring mvc下的单元测试

北慕城南 提交于 2019-11-27 03:40:45
最近一直在研究在spring mvc下应用单元测试,起初致力于Unitils+Junit+Dbunit的整合测试,原因有以下几点: Dbunit的可以方便地从excel或xml文件(数据集)中加载数据到数据库,然后经过测试代码后的结果可以直接与excel或xml文件中的数据进行断言(校验数据集)。 Unitils是个很好的整合框架,可以整合Junit、dbunit、多种mock框架技术等等,可以很好地单元测试或集成测试。 上述的方法,是从书中看来的,相信书中的案例仅仅是为了说明这个方法的存在,并未使用方法时需要注意的细节。因为本人在尝试的过程中,发现了认为不方便之处,如下: 依赖jar包繁琐,而且由于个别jar包版本的不兼容问题还会引发出修改源码的必要。 Unitils配置需要充分理解其每一项的意义和作用,因为它是个整合框架,你需要理解它每个模块的作用才能更好地解决它在整合其他框架时所发生的问题。 Unitils功能很强大,但整合也很复杂,用于普通项目的单元测试中显得不那么轻便了。 所以我在网上又搜索了关于Spring test框架的应用说明,觉着这种方式更轻便、灵巧,与Spring的融洽度也是不容质疑的。具体操作可以参考下面的链接,讲的很详细了。 http://www.ibm.com/developerworks/cn/java/j-lo-springunitest/ 来源: