mirror of
https://github.com/alibaba/testable-mock.git
synced 2025-01-09 11:50:40 +08:00
add one more faq and update doc images
This commit is contained in:
parent
78a19b6876
commit
8cfaa6d36e
@ -3,6 +3,6 @@
|
||||
|
||||
在使用`TestableMock`过程中如有任何问题或建议,请直接在[项目Issue](https://github.com/alibaba/testable-mock/issues)中提出,我们将在24小时内回复。
|
||||
|
||||
请详细描述遇到的情况,若您觉得问题可能与`TestableMock`的潜在BUG有关,请尽量提供可复现的相关源码或示例,以便进行针对性定位和排查 : )
|
||||
请详细描述遇到的情况,若您觉得问题可能与`TestableMock`的潜在BUG有关,请尽量提供可复现的相关源码或示例,以便进行针对性定位和排查。
|
||||
|
||||
`TestableMock`,让Java没有难测的代码!
|
||||
`TestableMock`,让Java没有难测的代码 : )
|
||||
|
@ -35,7 +35,13 @@ Kotlin语言中的`String`类型实际上是`kotlin.String`,而非`java.lang.S
|
||||
|
||||
实际场景中需要对`String`类中的方法进行Mock的场景很少,`TestableMock`暂未对这种情况做特别处理。
|
||||
|
||||
#### 6. `TestableMock`能否用于Android项目的测试?
|
||||
#### 6. 在IntelliJ IDE中运行单个测试用例时,用了`@EnablePrivateAccess`注解还是报私有成员访问错误?
|
||||
|
||||
IntelliJ的默认编译方法跳过了`JSR-269`规范的注解处理器,在IntelliJ系统配置的"Build Tools > Maven > Runner"中开启"Delegate IDE build/run actions to maven"选项即可:
|
||||
|
||||
![delegate-ide-build-to-maven](https://testable-code.oss-cn-beijing.aliyuncs.com/delegate-ide-build-to-maven.png)
|
||||
|
||||
#### 7. `TestableMock`能否用于Android项目的测试?
|
||||
|
||||
结合[Roboelectric](https://github.com/robolectric/robolectric)测试框架可使用。
|
||||
|
||||
|
@ -27,10 +27,16 @@
|
||||
|
||||
这是由于IDE运行单个测试用例时通常都只会运行`maven-surefire-plugin`插件,跳过了`testable-maven-plugin`插件执行,导致Mock功能所需的JavaAgent没有随测试注入。
|
||||
|
||||
该问题可以通过额外配置IDE的测试参数绕过。以IntelliJ为例,在单元测试配置的"虚拟机参数(VM Option)"属性值末尾添加JavaAgent启动参数:`-javaagent:${HOME}/.m2/repository/com/alibaba/testable/testable-agent/x.y.z/testable-agent-x.y.z.jar`
|
||||
该问题可以通过额外配置IDE的测试参数绕过。以IntelliJ为例,打开运行菜单的"编辑配置..."选型,如图中位置①
|
||||
|
||||
![modify-run-configuration](https://testable-code.oss-cn-beijing.aliyuncs.com/modify-run-configuration.png)
|
||||
|
||||
在"虚拟机参数"属性值末尾添加JavaAgent启动参数:`-javaagent:${HOME}/.m2/repository/com/alibaba/testable/testable-agent/x.y.z/testable-agent-x.y.z.jar`,如图中位置②
|
||||
|
||||
> PS:请将路径中的`x.y.z`替换成实际使用的版本号
|
||||
|
||||
![idea-vm-option](https://testable-code.oss-cn-beijing.aliyuncs.com/idea-vm-option.png)
|
||||
![add-testable-javaagent](https://testable-code.oss-cn-beijing.aliyuncs.com/add-testable-javaagent.png)
|
||||
|
||||
此插件的原理实际上是间接修改`maven-surefire-plugin`的配置,因此除了相对美观以外,并无特别之处。目前而言,直接在`pom.xml`文件中修改`maven-surefire-plugin`插件配置依然是更实用的方案。
|
||||
最后点击运行单元测试,如图中位置③
|
||||
|
||||
总体来说,使用`testable-maven-plugin`带来的额外复杂性依然高于其对配置的简化作用。目前而言,直接在`pom.xml`文件中修改`maven-surefire-plugin`插件配置还是相对推荐的实用方案。
|
||||
|
Loading…
Reference in New Issue
Block a user