diff --git a/docs/frequency-asked-questions.md b/docs/frequency-asked-questions.md index ad542b8..adcec88 100644 --- a/docs/frequency-asked-questions.md +++ b/docs/frequency-asked-questions.md @@ -1,10 +1,10 @@ -常见用户问题 +常见使用问题 --- -**1. 如何Mock被测类中通过`@Autowired`初始化的字段?** +#### 1. 如何Mock被测类中通过`@Autowired`初始化的字段? 直接创建被测类对象,然后利用`TestableMock`访问私有成员的能力直接给这些字段赋值即可。 -**2. 通过接口对象或基类对象指向派生类的实例,调用执行了派生类实现的方法。使用`@TestableMock`定义Mock方法时,首个参数类型应该用 接口/基类 还是 派生类?** +#### 2. 通过接口对象或基类对象指向派生类的实例,调用执行了派生类实现的方法。使用`@TestableMock`定义Mock方法时,首个参数类型应该用 接口/基类 还是 派生类? 应该使用 接口/基类 类型,参见`should_able_to_mock_override_method`测试用例。 diff --git a/docs/introduction.md b/docs/introduction.md new file mode 100644 index 0000000..e627fe4 --- /dev/null +++ b/docs/introduction.md @@ -0,0 +1,4 @@ +TestableMock简介 +--- + +TBD diff --git a/docs/known-issues.md b/docs/known-issues.md index 9e4f781..4f30642 100644 --- a/docs/known-issues.md +++ b/docs/known-issues.md @@ -1,19 +1,19 @@ 已知问题 --- -**1. 访问私有方法或私有成员代码在IDE提示语法错误** +#### 1. 访问私有方法或私有成员代码在IDE提示语法错误 使用`@EnablePrivateAccessor`注解后访问私有方法或成员变量,虽然能正常通过编译,但在IDE上依然会提示语法错误。 这个问题与使用`Lombok`工具库后使用生成的`getter`和`setter`会被IDE报语法错误一样,需要通过IDE插件来解决。 当前`TestableMock`尚未提供相关插件。也可以改用`PrivateAccessor`工具类来访问私有成员,来避免IDE的异常信息。 -**2. 通过IDE运行单个测试用例时,Mock功能失效** +#### 2. 通过IDE运行单个测试用例时,Mock功能失效 这是由于IDE运行单个测试用例时只会运行`maven-surefire-plugin`插件,跳过了`testable-maven-plugin`插件执行,导致Mock功能所需的JavaAgent没有随测试启动。 解决方法有两种: -**方法一**:在单元测试配置的"虚拟机参数(VM Option)"属性值末尾添加JavaAgent启动参数:`-javaagent:${HOME}/.m2/repository/com/alibaba/testable/testable-agent/0.2.2/testable-agent-0.2.2.jar` +**方法一**:在单元测试配置的"虚拟机参数(VM Option)"属性值末尾添加JavaAgent启动参数:`-javaagent:${HOME}/.m2/repository/com/alibaba/testable/testable-agent/0.3.0/testable-agent-0.3.0.jar` > PS:请将路径中的版本号替换成实际使用的版本号 diff --git a/docs/release-note.md b/docs/release-note.md index c694a26..7116d0e 100644 --- a/docs/release-note.md +++ b/docs/release-note.md @@ -1,10 +1,12 @@ # Release Note ## upcoming version +- support share mock method between test classes +- support detail log of mocking process for diagnosis + +## v0.3.0 - add `without()` checker to verify mock method never invoked with specified parameters - support fuzz matcher when verifying mock invocation -- add `@MockWith` annotation to support share mock method between test classes -- add method to print detail log of mocking process for debugging ## v0.2.2 - support mock method parameters check diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md new file mode 100644 index 0000000..37d81b3 --- /dev/null +++ b/docs/troubleshooting.md @@ -0,0 +1,4 @@ +自助问题排查 +--- + +TBD