如何通过java反射的方式对java私有方法进行单元测试

摘要:
待测试的私有方法:importorg.testng.Assert;importorg.testng.annotations.BeforeClass;importorg.testng.annotations.Test;importspringfox.documentation.service.ApiInfo;importjava.lang.reflect.Method;publicclassSwag

待测试的私有方法:如何通过java反射的方式对java私有方法进行单元测试第1张

import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import springfox.documentation.service.ApiInfo;
import java.lang.reflect.Method;
public class SwaggerAPIPluginConfigTest {
SwaggerAPIPluginConfig swaggerAPIPluginConfig;
@BeforeClass
public void setUp(){
swaggerAPIPluginConfig = new SwaggerAPIPluginConfig();
}
//通过反射的方式对私有方法进行单元测试
@Test
public void testApiInfo() throws Exception {
Class<SwaggerAPIPluginConfig> swaggerAPIPluginConfig = SwaggerAPIPluginConfig.class;
Object instance = swaggerAPIPluginConfig.newInstance();
Method method = swaggerAPIPluginConfig.getDeclaredMethod("apiInfo", new Class[]{});
method.setAccessible(true);
ApiInfo result = (ApiInfo)method.invoke(instance,new Object[]{});
String expected="XXXXXXXXXX";
Assert.assertEquals(result.getTitle(),expected);
}

免责声明:文章转载自《如何通过java反射的方式对java私有方法进行单元测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux上临时路由、永久路由配置工单系统之用户模块整体实现下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

maven跳过单元测试-maven.test.skip和skipTests的区别

-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。 -Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。 一 使用maven.test.skip,不但跳过单元测试的运行,也跳过测试代码的编译。 mvn package -Dmaven.test.skip=...

读书笔记-单元测试艺术(三)-使用桩对象解除依赖

一、几个概念 1.什么是外部依赖 外部依赖是指在系统中代码与其交互的对象,而且无法对其做人为控制。 最常见的例子是文件系统、线程、内存和时间等,我们使用桩对象来处理外部依赖问题。 2.什么是桩对象 桩对象是对系统中现有依赖的一个替代品,可人为控制。 通过使用桩对象,无需涉及依赖项,即可直接对代码进行测试。 3.什么是重构 重构是指不影响已有功能而改变代码设...

【PHP】PHPUnit单元测试利器:PHP Mock的使用方法

由于环境依赖关系,或者是特殊环境的构造要求,这就可能导致我们在测试环境下做验证是很困难的。 当我们无法直接使用的真实被依赖模块时,我们可以用“测试替身”(Test Double)来代替。这个测试替身不需要与真实的被依赖模块有相同的行为,它只需要提供和真实的被依赖模块有相同的API就行了。 PHPUnit提供的getMock($className)方法可以自...

Vue 项目添加单元测试发现的问题及解决

用 Jest 测试单文件组件 1、安装 Jest 和 Vue Test Utils npm install --save-dev jest @vue/test-utils 2、配置 package.json // package.json { "scripts": { "test": "jest" } } 3、需要安装和配置 vue-j...

Intellij idea添加单元测试工具

1.idea 版本是14.0.0 ,默认带有Junit,但是不能自动生成单元测试,需要下载JunitGererator2.0插件 2.Settings -Plugins,下载 JunitGenerator V2.0插件 ,我的是已经下载好的。下载后提示需要重启 3.下载后 点击需要测试的类 ,或者再所在的类里面 alt+insert, 如下图 所示 4...

自己封装的Socket组件,实现服务端多进程共享Socket对象,协同处理客户端请求

自己封装的Socket组件,实现服务端多进程共享Socket对象,协同处理客户端请求 DotNet.Net.MySocket是SLB.NET(Server Load Balance服务器负载均衡)项目中的核心组件。 在实际的项目中发现,单进程的服务端处理高并发的客户请求能力有限。 所以一直在考虑能不能象IIS Web园一样,多个进程提供一个服务,协同处理客...