单元测试

Idea 使用 Junit4 进行单元测试

匿名 (未验证) 提交于 2019-12-02 23:57:01
Ŀ¼ Idea 默认使用 arquillian junit4 作为测试框架,我们将其更改为 Junit4。 Settings -> Plugins -> 搜索栏中搜索 Junit 并勾选 -> 安装完成 Calculate.java package com . test . util ; public class Calculate { public int add ( int a , int b ) { int result = a + b ; return result ; } public int subtract ( int a , int b ) { int result = a - b ; return result ; } public int multiply ( int a , int b ) { int result = a * b ; return result ; } public int divide ( int a , int b ) { int result = a / b ; return result ; } } 新建一个名为 test 的目录 右键该目录选择 Make Directory as -> Test Source Root 在 用例代码 Calculate.java 中选中类按下快捷键: Alt + Enter ,选择 Create

unittest单元测试框架总结

匿名 (未验证) 提交于 2019-12-02 23:57:01
unittest单元测试框架总结 Ŀ¼ 一、unittest模块的各个属性说明 二、使用unittest框架编写测试用例思路 三、使用unittest框架编写测试用例实例 一、unittest模块的各个属性说明 点击返回目录 1.unittest的属性如下: ['BaseTestSuite', 'FunctionTestCase', 'SkipTest', 'TestCase', 'TestLoader', 'TestProgram', 'TestResult', 'TestSuite', 'TextTestResult', 'TextTestRunner', '_TextTestResult', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__unittest', 'case', 'defaultTestLoader', 'expectedFailure', 'findTestCases', 'getTestCaseNames', 'installHandler', 'loader', 'main', 'makeSuite', 'registerResult', 'removeHandler', 'removeResult', 'result',

【转】单元测试、接口测试、功能测试的区别

匿名 (未验证) 提交于 2019-12-02 23:55:01
   先来看看功能测试如何进行的:编写测试用例,测试用例当中最主要的是测试步骤和预期结果;测试人员根据测试用例执行操作步骤,然后通过眼睛和思考判断实际结果与预期结果是否相等。如果相等,测试通过;如果不相等,测试失败。   自动化测试要做的事情与功能测试是一致。这里的自动化主要包含三个层面的自动化,单元测试自动化,接口测试自动化和web测试自动化。当然,不同层面的自动化关注点是不一样的。   单元测试自动化,调用被测试的类或方法,根据类或方法的参数,传入相应的数据。然后,得到一个返回结果。最终断言返回的结果是否等于预期结果。如果相等,测试通过;如果不相等,测试失败。所以,这里单元测试关注的是代码的实现与逻辑。元测试是测试中的最基本的测试, 也是测试中的最小单元, 它的对象是函数对象,也可以包含输入输出, 针对的是函数功能或者函数的内部逻辑方面。 并不包含业务逻辑。   接口测试自动化,根据接口文档,到底是传get请求呢?还是post请呢?调用被测试的接口,构造相应的数据(id=1,name=zhangsan),得到返回值,是200成功,并返回查询结果。还是10021,用户名不能为空。不管输入的参数是怎样的,我们都将得到一个结果。最终断言返回的结果是否等于预期结果。如果相等,测试通过;如果不相等,测试失败。所以,接口测试关注的是数据。只要数据正确了,功能就做成大半

SpringBoot单元测试之Mock方式

匿名 (未验证) 提交于 2019-12-02 23:52:01
一、主程序 package com.kyy.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * 启动程序 * @Auther:zhouhongliang * @Date:2019/7/30 * @Description: */ @SpringBootApplication public class SpringBootDemo { public static void main(String[] args) { SpringApplication.run(SpringBootDemo.class,args); } } 二、处理器 package com.kyy.springboot.controller; import com.kyy.springboot.model.Person; import org.springframework.web.bind.annotation.*; /** * @Auther:zhouhongliang * @Date:2019/7/30 * @Description: */ @RestController public

单元测试jest部署

匿名 (未验证) 提交于 2019-12-02 23:49:02
基础插件 @babel/core 说明:编译工具核心模块包 @babel/preset-env 说明:编译工具,支持es2015特性的编译打包工具包 babel-jest 说明:对.jsx、.js文件进行转义的包工具。 jest 说明:jest单元测试模块包 jest.config.js 若无jest.config.js,则执行jest --init(初始化jest的配置文件): 修改: moduleNameMapper: { "^@/(.*)$": "<rootDir>/src/$1" //映射jssdk源码src的目录 }, __babel.config.js__ module.exports = { presets: [ ['@babel/preset-env', { //配置babel预置编译器为@babel/preset-env targets: { node: 'current' } }] ] }; 参照【引入jest需安装的基础插件】 参照【引入jest的相关配置】 1.安装jest基础插件 参照【引入jest需安装的基础插件】 2.安装适配TypeScript相关插件 @babel/preset-typescript 说明:支持typescript的编译 @types/jest 说明:在typescript中支持jest的afterAll、descript

netty如何进行单元测试

匿名 (未验证) 提交于 2019-12-02 23:49:02
一种特殊的Channel ――EmbeddedChannel,它是Netty 专门为改进针对ChannelHandler 的单元测试而提供的。 将入站数据或者出站数据写入到EmbeddedChannel 中,然后检查是否有任何东西到达了ChannelPipeline 的尾端。以这种方式,你便可以确定消息是否已经被编码或者被解码过了,以及是否触发了任何的ChannelHandler 动作。 writeInbound(Object... msgs) 将入站消息写到EmbeddedChannel 中。 如果 可以通过readInbound()方法从EmbeddedChannel 中读取数据,则返回true readInbound() 从EmbeddedChannel 中读取一个入站消息。任何返回的东西都穿越了整个ChannelPipeline。 如果 没有任何可供读取的,则返回null writeOutbound(Object... msgs) 将出站消息写到EmbeddedChannel中。 如果 现在可以通过readOutbound()方法从EmbeddedChannel 中读取到什么东西,则返回true readOutbound() 从EmbeddedChannel 中读取一个出站消息。任何返回的东西都穿越了整个ChannelPipeline。如果没有任何可供读取的,则返回null

单元测试

匿名 (未验证) 提交于 2019-12-02 23:45:01
单元测试:   单元测试是对单独的代码块分别进行测试, 以确保它们的正确性, 单元测试主要还是由开发人员来做, 其余的集成测试和系统测试由专业的测试人员来做. python的单元测试代码编写主要记住以下几点:   1. 需要导入 unittest模块   2. 需要继承自 unittest.TestCase 类   3. 单元测试的代码函数名必须以test开头(其他语言也是如此) class TestClass(unittest.TestCase):   def setUp(self):     # 该方法会首先执行,相当于测试前的准备工作   def tearDown(self):     # 该方法会在测试完成后执行, 相当于测试的扫尾工作     pass   def test_app(self):     # 该方法为测试测试代码 单元测试经常用到的断言方法: 原文摘自: https://www.cnblogs.com/skaarl/p/9686793.html

27. Unittest单元测试框架的介绍与使用

匿名 (未验证) 提交于 2019-12-02 23:42:01
先贴一下unittest 官网地址 。unittest文档开头介绍了四个重要的概念:test fixture,test case, test suite, test runner。 test fixture test fixture表示执行一个或多个测试所需的准备。怎么去理解这句话呢?比如我们执行一条创建文章的测试用例,但是如果我们调用创建文章的接口,需要我们进行登录。那么我们可以把登录作为一个test fixture。那么test fixture表现形式是什么呢?还是用add函数举例。先说test fixture中有几个 test case 测试用例,这个不必多说,没有测试用例就不能叫做接口测试了。 test suite 我们在做接口测试的时候,一般都是执行多条测试用例。这就有了test suite概念,简单来说,就是把想要执行的测试用例进行组装然后进行测试。 test runner 执行测试用例。 为了方便大家的理解,会用一个实例对上面四个概念进行解释。请看如下代码: import unittest class AddTest ( unittest . TestCase ): def setUp ( self ): print ( "在每个用例执行之前" ) def tearDown ( self ): print ( "在每个用例执行之后" ) @classmethod

使用Junit做单元测试 (软件测试实验报告)

匿名 (未验证) 提交于 2019-12-02 23:42:01
使用Junit做单元测试 1. 课程设计 目的: 1)理解单元测试原理 2)学会使用Junit做单元测试 2. 课程设计方法 : 1)确定测试单元 2)设计测试用例 3. 课程设计内容 : 1)编写四则运算程序 2)确定测试单元 3)设计测试用例 4)使用Junit做单元测试 4.具体课程 设计实验: 1. 新建一个项目“Java Project one”,然后创建一个Hellowworld类,其Java的源代码如下所示。 public class Helloworld { public String say(){ return ( "Hello World!" ); } } 然后在项目“Java Project one”上单击鼠标右键,选择“New”→“Junit Test Case”,出现对话框,根据提示输入相关内容,如“Name”项输入“TestHelloWorld”,选择“SetUp()”和“TearDown()”,然后单击“Finish”就自动生成一个测试类TestHelloWorld.java,如下所示。 import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class TestHelloWorld

SpringBoot高级【单元测试】

匿名 (未验证) 提交于 2019-12-02 23:34:01
单元测试 1.引入依赖 < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-test </ artifactId > < scope > test </ scope > </ dependency > 2.创建业务 @Repository public class UserDaoImpl implements UserDao { @Override public void insertUser ( ) { System . out . println ( "-------userDao 方法执行了------" ) ; } } @Service public class UserServiceImpl implements UserService { @Resource private UserDao userDao ; @Override public void insertUser ( ) { userDao . insertUser ( ) ; } } 3.单元测试 @RunWith ( SpringRunner . class ) // 指定启动器 @SpringBootTest ( classes = {