Skip to content

JUnit5的MockApolloExtension方式会强制引入JUnit4依赖 #56

@kimmking

Description

@kimmking

描述bug

在应用使用mockserver做单元测试时,
我们期望:

  • 方式1:JUnit4使用 EmbeddedApollo 和ClassRule方式,
  • 方式2:JUnit5使用 MockApolloExtension 和ExtendWith方式。
    假如我们是一个新项目,使用JUnit5,我们在项目里不期望依赖 JUnit4,但是使用方式2时,MockApolloExtension内部封装的 ApolloTestingServer 有一句代码依赖了EmbeddedApollo,从而引入JUnit4:
private static final Logger logger = LoggerFactory.getLogger(EmbeddedApollo.class);

这样如果项目里没有JUnit4的依赖,就无法运行(EmbeddedApollo的父类是JUnit4中的org.junit.rules.ExternalResource,这个rule机制JUnit5没有了)。

期望

如上

截图

如上

额外的细节和日志

  • 版本:2.2.0
  • 错误日志:none
  • 配置:any
  • 平台和操作系统:all

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions