使用TestableMock --- `TestableMock`是基于源码和字节码增强的Java单元测试辅助工具,包含以下功能: - [访问被测类私有成员](zh-cn/doc/private-accessor.md):使单元测试能直接调用和访问被测类的私有成员,解决私有成员初始化和私有方法测试的问题 - [快速Mock任意方法](zh-cn/doc/use-mock.md):使被测类的任意方法调用快速替换为Mock方法,实现"指哪换哪",解决传统Mock工具使用繁琐的问题 ## 在Maven项目中使用 在`pom.xml`文件中添加`testable-processor`依赖: ```xml com.alibaba.testable testable-processor ${testable.version} provided ``` 以及`testable-maven-plugin`插件: ```xml com.alibaba.testable testable-maven-plugin ${testable.version} prepare prepare ``` > 其中`${testable.version}`需替换为具体版本号,当前最新版本为`0.3.0` 若仅需使用单元测试随意访问被测类私有字段和方法的能力,不使用Mock功能,则`testable-maven-plugin`插件可以省略。 ## 在Gradle项目中使用 在`build.gradle`文件中添加`testable-processor`依赖: ```groovy dependencies { testCompile('com.alibaba.testable:testable-processor:0.3.0') } ``` 然后在测试配置中添加javaagent: ```groovy test { jvmArgs "-javaagent:${classpath.find { it.name.contains("testable-agent") }.absolutePath}" } ``` > 该配置尚未在Gradle项目上经过实际验证,可行性待确认。