testable-mock/docs/zh-cn/doc/release-note.md
2020-12-30 07:24:49 +08:00

3.0 KiB

Release Note

0.4.6

  • 修复一处IINC字节码处理异常
  • 支持使用TestableTool.MOCK_CONTEXT变量为Mock方法注入额外上下文参数
  • 不再推荐使用TestableTool.TEST_CASE变量来区分测试用例

0.4.5

  • 修复IntelliJ 2020.3+环境下的私有成员访问编译期错误
  • 修复潜在的跨用例初始化空指针异常 (issue-20)
  • 支持将运行期修改后的字节码Dump到本地文件

0.4.4

  • 修复无法访问参数类型包含接口的私有方法的BUG (issue-15)
  • 修复Mock无参数的静态方法会出错的BUG (issue-16)

0.4.3

  • 完善了对私有静态成员的直接访问能力

0.4.2

  • 支持通过Maven插件设置TestableAgent的全局日志级别
  • 修复测试类可能被重复注入多余字节码的BUG
  • 修复一处导致跨行的方法调用Mock报错的BUG

0.4.1

  • @TestableMock注解已弃用,推荐使用@MockMethod@MockConstructor注解

0.4.0

  • 修复由于默认类加载器变化导致JVM 9+运行时Mock出错的BUG
  • 修复多个测试类包含同名Mock方法时潜在的串号问题
  • 重构项目结构,增加用于简化依赖配置的testable-all模块
  • TestableTool中与用户无关的内容迁移到了TestableConst类型

0.3.2

  • 支持在Gradle项目中使用私有成员访问和快速Mock功能
  • 支持通过PrivateAccessor工具类访问私有静态成员

0.3.1

  • 支持使用@MockWith注解打印详细Mock执行过程

v0.3.0

  • 增加without()校验器用于匹配指定Mock方法从未被调用的场景
  • 支持对Mock调用参数验证时使用模糊匹配

v0.2.2

  • 支持对Mock调用参数进行校验
  • 修复JVM 9+的兼容性问题

v0.2.1

  • 支持Mock静态方法
  • 支持Mock Kotlin Companion对象的方法
  • 支持Mock接口或父类引用指向子类实例时的调用

v0.2.0

  • 支持通过TestableTool工具类识别当前的调用上下文
  • 增加testable-maven-plugin模块用于简化运行时JavaAgent配置
  • 不再需要使用@EnableTestable注释显式标记测试类
  • 重名了现有的各种注解,以便与更好的与实际功能对应

v0.1.0

  • move generated agent jar to class folder
  • support mock method of any object

v0.0.5

  • use dynamically runtime modification to replace static e.java file
  • get rid of unit test framework dependence
  • add testable ref field in test class at runtime instead of compile time

v0.0.4

  • use runtime byte code rewrite to invoke testable setup method
  • add TestableUtil class to fetch current test case and invocation source

v0.0.3

  • use global method invoke to access private members instead of modification in place
  • use e.java replace testable class make code more readable
  • introduce agent module, use runtime byte code modification to support new operation and member method mocking

v0.0.2

  • add support of member method mocking by compile time code modification

v0.0.1

  • PoC version
  • use compile time code modification to support new operation mocking and private field & method access