Testng: 添加第 3 方拦截方法参数注入的方法

创建于 2016-09-22  ·  3评论  ·  资料来源: cbeust/testng

来自https://github.com/jmockit/jmockit1/issues/337

它应该在有和没有数据提供者的情况下工作。

@rliesenfeld对未来提供的 API 有任何期望吗?

@nitinverma愿意参与集成,因为他已经在参数注入方面做得很好。

data-provider injection

最有用的评论

我认为全新的JUnit 5 扩展模型可以成为很好的灵感来源。 JUnit 5 中唯一缺少的是第 3 方库自动注册这些扩展的方法,而用户不必手动将“@ExtendWith”注释添加到他们的测试类中。

TestNG 已经有一组扩展接口(例如 IExecutionListener,JMockit 实现了它),但没有一个类似于 JUnit 的 ParameterResolver 接口。 我想可以添加这样的东西。

所有3条评论

我认为全新的JUnit 5 扩展模型可以成为很好的灵感来源。 JUnit 5 中唯一缺少的是第 3 方库自动注册这些扩展的方法,而用户不必手动将“@ExtendWith”注释添加到他们的测试类中。

TestNG 已经有一组扩展接口(例如 IExecutionListener,JMockit 实现了它),但没有一个类似于 JUnit 的 ParameterResolver 接口。 我想可以添加这样的东西。

我想建议我们不仅要考虑method argument injection ,还要考虑可能对测试框架进行的其他增强/扩展。

以下是关于一般支持/公开集成的初步想法:

  • 可以引入功能集成。
  • 可以弃用功能集成。
  • 功能集成可以撤回。
  • 功能集成可能有先决条件。
  • 功能集成的先决条件可能是版本。
  • 功能集成的先决条件可能是另一个集成。
  • 一种产品可能会公开多种功能集成。
  • 产品集成不直接依赖于其他产品集成,而是通过功能集成。
  • 用户应该可以轻松访问活动集成列表。

隐喻:

TestNG 是母舰,其他产品是 pod。 Pod 停靠在母舰上并提供大量功能。 特征被耦合或耦合等待另一个特征(通过相同的 pod 或另一个)或被撤回,被拒绝。 一旦联轴器就位,母舰就可以接合或脱离接合,以进行适当的功能和航向校正。

以上只是一个粗略的大纲,我希望通过讨论得到丰富。

我喜欢这个愿景,但它可以通过步骤来完成,并且方法参数注入是第一步的完美候选者。

目前,监听器是 3rd 方扩展的好方法。

此页面是否有帮助?
0 / 5 - 0 等级