来自https://github.com/jmockit/jmockit1/issues/337
它应该在有和没有数据提供者的情况下工作。
@rliesenfeld对未来提供的 API 有任何期望吗?
@nitinverma愿意参与集成,因为他已经在参数注入方面做得很好。
我认为全新的JUnit 5 扩展模型可以成为很好的灵感来源。 JUnit 5 中唯一缺少的是第 3 方库自动注册这些扩展的方法,而用户不必手动将“@ExtendWith”注释添加到他们的测试类中。
TestNG 已经有一组扩展接口(例如 IExecutionListener,JMockit 实现了它),但没有一个类似于 JUnit 的 ParameterResolver 接口。 我想可以添加这样的东西。
我想建议我们不仅要考虑method argument injection
,还要考虑可能对测试框架进行的其他增强/扩展。
以下是关于一般支持/公开集成的初步想法:
隐喻:
TestNG 是母舰,其他产品是 pod。 Pod 停靠在母舰上并提供大量功能。 特征被耦合或耦合等待另一个特征(通过相同的 pod 或另一个)或被撤回,被拒绝。 一旦联轴器就位,母舰就可以接合或脱离接合,以进行适当的功能和航向校正。
以上只是一个粗略的大纲,我希望通过讨论得到丰富。
我喜欢这个愿景,但它可以通过步骤来完成,并且方法参数注入是第一步的完美候选者。
目前,监听器是 3rd 方扩展的好方法。
最有用的评论
我认为全新的JUnit 5 扩展模型可以成为很好的灵感来源。 JUnit 5 中唯一缺少的是第 3 方库自动注册这些扩展的方法,而用户不必手动将“@ExtendWith”注释添加到他们的测试类中。
TestNG 已经有一组扩展接口(例如 IExecutionListener,JMockit 实现了它),但没有一个类似于 JUnit 的 ParameterResolver 接口。 我想可以添加这样的东西。