精华内容
下载资源
问答
  • 单元测试时测试一个private私有方法

    千次阅读 2015-07-14 17:39:49
    单元测试时测试一个private私有方法时,我们第一想法可能是用java反射机制。 [code="java"] ... Method method = clazz.getDeclaredMethod(methodName, classes) method.setAccessible(true); ...
    单元测试时测试一个private私有方法时,我们第一想法可能是用java反射机制。
    

    ...
    Method method = clazz.getDeclaredMethod(methodName, classes)
    method.setAccessible(true);
    method.invoke(obj, objects)


    Spring 有一个好用的测试工具类ReflectionTestUtils

    ...
    ReflectionTestUtils.invokeMethod(Object target, String name, Object... args)

    即可完成调用私有方法。

    maven依赖:

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>4.1.6.RELEASE</version>
    <scope>test</scope>
    </dependency>
    展开全文
  • 如何给一个私有方法单元测试

    万次阅读 2013-07-18 18:05:00
    给类的公有方法单元测试,很简单,new一个对象,设好入口参数后,调用这个方法,比较期望值和实际值即可。给一个类的私有方法单元测试,也不麻烦,先通过反射获取这个方法,然后将这个方法的可访问性强制设为...

        给类的公有方法做单元测试,很简单,new一个对象,设好入口参数后,调用这个方法,比较期望值和实际值即可。给一个类的私有方法做单元测试,也不麻烦,先通过反射获取这个方法,然后将这个方法的可访问性强制设为true,这样的话,这个私有方法就可以被调用了。

    目标方法:

    private Double format(Double fileSize){
    	Double size = fileSize;
    	size = size / 1024 / 1024;
    	size = (int)(size.doubleValue() * 10 + 0.5) / 10.0;
    	return size;
    }

    单元测试代码:

    @Test
    public void testFormat(){
    	ClientDownloadAction action = new ClientDownloadAction();
    	double size = 3732930;
    	Class class1 = action.getClass();
    	try {
    		Method format = class1.getDeclaredMethod("format", Double.class);
    		format.setAccessible(true);//设为可见
    		Double result = (Double)format.invoke(action, size);
    		Double expect = 3.6;
    		Assert.assertEquals(expect, result);
    	} catch (Exception e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    }


    展开全文
  • 使用laravel5做单元测试时,碰到以下问题,需要测试querySessionIdTest这个方法, 但是需要mock出sessionidtest这个方法,具体代码如下: 类如下: ``` php class ZabbixSystem implements ApmSystemInterface ...
  • 在正常单元测试中,我们向方法上添加@Test注解即可,但是在springboot中我们要使用类似控制器注入方法 1 2 @Autowired userService userService; 又或者注入Dao层方法 1 2 ...

    在正常单元测试中,我们向方法上添加@Test注解即可,但是在springboot中我们要使用类似控制器注入方法

    1

    2

    @Autowired

        userService userService;

    又或者注入Dao层方法

    1

    2

    @Autowired

       private YiSouMapper yiSouMapper;

      这种自动装配的类就可能会注入失败,报空指针异常,就是userService或yiSouMapper无法被注入,

           那么springboot就给了我们一个将junit与springboot结合起来的依赖

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    <dependency>

               <groupId>org.springframework.boot</groupId>

               <artifactId>spring-boot-starter-test</artifactId>

               <scope>test</scope>

               <exclusions>

                   <exclusion>

                       <groupId>org.junit.vintage</groupId>

                       <artifactId>junit-vintage-engine</artifactId>

                   </exclusion>

               </exclusions>

           </dependency>

      导入这个依赖以后我们在我们的测试类上添加@RunWith和@SpringBootTest两个注解,记住@SpringBootTes中的classes就是你自己springboot的启动类,

           名字需要换一下。这时运行后会启动项目环境,使用当前Spring环境进行单元测试。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    @RunWith(SpringRunner.class)

    @SpringBootTest(classes = EdApplication.class)

    public class FenCiUtilText {

        @Autowired

        private YiSouMapper yiSouMapper;

        @Test

        public void testDemo1() {

                //代码

        }

    }

      

    展开全文
  • 具体方法看不懂的小伙伴可看之前的get、post请求文章,这里只做具体调用讲解 @RunWith(SpringRunner.class) @SpringBootTest(classes={ProjectApplication.class}) public class UserTest { //注入controller @...

    案例实战Controller层登陆方法测试

    具体方法看不懂的小伙伴可看之前的get、post请求文章,这里只做具体调用讲解

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes={ProjectApplication.class})
    public class UserTest {
    
        //注入controller
        @Autowired
        private UserController userController;
    
        /**
         * 测试用户登陆接口
         */
        @Test
        public void loginTest(){
            User user = new User();
    
            user.setUsername("张三");
            user.setPwd("123");
            //调用controller层方法
            JsonData jsonData = userController.loginUser(user);
    
            System.out.println(jsonData.toString());
    
            //断言
            //判断状态码 预期是0返回正确
            TestCase.assertEquals(0,jsonData.getCode());
    
        }
    }
    

    案例实战 视频列表Service层的单元测试

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes={ProjectApplication.class})
    public class VideoTest {
    
        //注入视频接口
        @Autowired
        private VideoService videoService;
    
        @Before
        public void testOne(){
            System.out.println("这是个测试 before");
        }
    
        /**
         * 视频接口测试
         */
        @Test
        public void testVideoList(){
        //调用service层接口方法 返回集合对象
            List<Video> videoList = videoService.listVideo();
    
            //判断对象是否为空  预期是大于0
            TestCase.assertTrue(videoList.size()>0);
        }
    
        @After
        public void testThree(){
            System.out.println("这是个测试 after");
        }
    
    }
    

    使用IDEA快捷方式创建测试类

    无需手动去创建测试类方法,使用idea自带方式去new

    Step1:选择接口方法鼠标右键
    在这里插入图片描述
    在这里插入图片描述
    Step2:选择要测试的接口方法
    在这里插入图片描述
    这样在Test包下就自动生成了测试类了

    根据公司情况,写单元测试,核心接口一定要写,非核心的尽量写

    断言类型,可以细化,我这里只是判断了长度和非空,也可以判断结果为1或者2

    展开全文
  • 本文讨论了在编写单元测试时 mock 系统调用(以及其他第三方库)的几种做法。
  • 单元测试和Mock方法

    千次阅读 2016-10-26 21:21:12
    单元测试和MockService标签(空格分隔): 协作开发 虚拟接口 Android单元测试首先是开发的部分,目的是保证没有耦合的情况下任何输入都能保证正确的输出(包括异常),可以保证程序的健壮性,避免代码腐烂化。...
  • GO程序单元测试案例编写与Gogland运行单元测试方法
  • 实际开发完成后,我们经常可能在一个单元测试类中进行多个方法单元测试,但是每次只想对某一个方法进行单元测试,这时我们可以使用@Ignore注解来跳过其他方法,仅仅对指定的某个方法进行单元测试,这里分享一下@...
  • 本文将创建一个简单的动态链接库,并编写一个应用台控制程序使用该动态链接库,该动态链接库为“JAVA调用动态链接库DLL之JNative学习”中使用的DLL,只是项目及文件名称不同。创建动态链接库项目:1、打开Microsoft ...
  • 单元测试的基本方法

    千次阅读 2014-07-05 00:04:10
    单元测试的基本方法 单元测试的对象是软件设计的最小单位——模块。单元测试的依据是详细设描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统...
  • java 单元测试JUnit的使用方法

    千次阅读 2018-10-20 15:55:36
    java 单元测试JUnit的使用方法1.什么是JUnit单元测试2.如何使用JUnit单元测试3.代码中使用dome 1.什么是JUnit单元测试 类的运行入口是main方法,但在日常编程的时候,我们很少去写mian()方法来测试当前方法入参...
  • 单元测试-如何测试void方法

    万次阅读 2013-12-13 16:10:46
    在作一个void方法单元测试时,测试人员就比较迷惑了(很多人也都在问void方法怎么测试) , void的方法是没有返回值的方法。那么如何它的结果呢。 在这里和大家一起讨论一下void应该怎么测试。  首先站在测试角度...
  • Springmvc 之Junit 单元测试 1. 首先引入测试的jar包。 1.1因为我用的ide是eclipse,现只介绍eclipse中junit的使用。首先引用eclipse中自带的junit, 方法: 右键项目—>property---->如下图所示   1.2...
  • Python之pytest单元测试方法

    千次阅读 2019-03-21 18:08:57
    1 单元测试 单元测试(又称为模块测试, Unit ...在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。 为什...
  • 就想到问题出在setUp方法上,google了一下,发现setUp方法原来是每个方法测试之前都会调用一次,而setUpBeforeClass则在整个测试过程中只调用一次。同理,tearDown和tearDownAfterClass的方法也是在于此。setUp
  • private方法如何进行单元测试

    千次阅读 2020-08-08 14:08:23
    目录 问题来了 解决方法 1.不测试 2.改权限 3.进行内部测试 ...在上篇中:https://blog.csdn.net/qq_36110736/article/details/107774507,对... 这里先来说一下网上对private修饰的方法进行单元测试的几种解...
  • 从整体的角度可以分为单元测试、集成测试、系统测试、确认测试...在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法
  • 单元测试

    千次阅读 2015-11-26 19:48:30
    某从未搞过单元测试,觉得好神秘!但所谓测试驱动,如雷贯耳,未写代码,先写测试;博客园又有大神说,所谓的需求分析,应当具体化为测试用例。...写一些相关的方法,来调用我们需要测试的方法,跑遍。测试项目为此
  • 单元测试——各种方法行为怎么mock

    千次阅读 2019-12-04 17:11:27
    mock被测试方法中多次调用方法行为 情景描述: 在被测试方法中多处调用Utils工具类的checkCollection方法,并且每次返回的结果不同; 解决方法: 在when后面跟上多thenReturn表示第几次调用返回结果; ...
  • 单元测试中,实际上经常遇到这种情况:某个方法依赖于其他一些难以掌握的东西,诸如网络、数据库、甚至是servlet引擎,那么该如何进行单元测试。实际上解决这些问题,我们需要的就是找一个“替身”来模拟这些情况...
  • 单元测试 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试...
  • 当你在工程中通过测试导航栏添加了一个测试target之后, xcode会在测试导航栏中显示该target所属的测试类和方法。 这一章演示了怎么创建测试类,以及如何编写测试方法测试targets, 测试bundles, 以及测试导航栏在...
  • 单元测试方法总结

    千次阅读 2011-11-25 20:14:01
    1 引言 应用系统的实施代码构建完成...虽然测试是件乏味的工作,但是对自己开发的程序代码进行单元测试是程序员必要的工作,不但可以写出高质量的代码,还可以提高自己的编程水平。本文档主要介绍我们常用的几种单
  • 单元测试中PowerMock常用方法

    万次阅读 2011-07-14 08:54:19
    在进行单元测试时,为了测试一个简单的方法,往往需要构造一堆复杂的相当对象,还有的情况是有的方法没有返回值,直接在函数内做了某些事情,这时如果用黑盒测试,你无法通过输入输出判断方法是否正确。所以,通常...
  • 调用Feign客户端进行单元测试

    万次阅读 2018-09-21 19:23:27
    import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation....以上只是我常用的方法,记得需要引入spring test的依赖。
  • spring boot 单元测试调用Service接口

    千次阅读 2020-06-11 17:57:15
    package com.inco; import com.inco.project.ggjk.ksgl.service.KsglGgjkService; ... import org.junit.Test; import org.junit.runner.RunWith;...import org.springframework.boot.test.context.SpringBootT.
  • C# 为私有方法添加单元测试

    千次阅读 2012-12-22 21:58:23
    C# 为私有方法添加单元测试(使用反射)Add Unit Test for private ...以VS 2010为例,在一个方法上单击右键,选择创建单元测试即可。生成的单元测试中,会为私有方法生成accesor,这时就可以在单元测试中访问私有
  • aven web项目写了一个servlet调用dao层对数据库的操作方法时报错 no suitable driver found for jdbc 但是我在dao层写单元测试时可以连接 到底是哪里出了问题?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 249,844
精华内容 99,937
关键字:

单元测试一个方法调用另一个方法