PowerMockito进行static方法mock时,在并发场景下,mock失效

相对一个函数中写的锁的逻辑进行并发测试,由于业务代码很复杂,中间会进行很多操作,所以想要使用PowerMockito进行mock,这些非测试目标函数都是静态方法,在只有1~2个线程运行的情况下,是可以mock成功的。但是线程数到3个以上,就会出现时好时坏的情况,有时候mock就会失效。因为对PowerMockito内部的实现原理不了解,在网上找到相关的资料搜集在这里。

  1. 在多线程中使用powermock不是一种推荐的行为。有以下的帖子详述了原因:
    在多线程构建场景下Powermockito无法在不同类中Mock同一个静态方法
    虽然我只mock了一个类的几个静态方法,多线程中也只调用了这一个类中的一个待测试的静态方法,但是也出现了帖子中说的问题。
  2. 未完待续

猜你喜欢

转载自blog.csdn.net/stpice/article/details/103648768