【问题标题】:In a junit5 test class can weldinitiator config be specific for each test method?在 junit5 测试类中,weldinitator 配置可以特定于每种测试方法吗?
【发布时间】:2019-10-10 09:37:34
【问题描述】:

在 junit5 测试类中,对于测试类的每个方法,weldinitator 配置是否可以是特定的(即模拟的不同行为)?因为我只能这样做,而且我只为整个测试类找到了一个焊接启动器配置,但从来没有专门针对测试方法。谢谢你。

【问题讨论】:

  • 最后我无法正确使用weld。这是一个更复杂的。我最后只使用了 Mockito,它在我的测试中更简单、更简洁。

标签: cdi junit5 weld-junit5


【解决方案1】:

不,你不能。 WeldInitiator 有效地为 JUnit 5 扩展提供了一个配置,weld-junit 使用它来引导自身并且是类范围的。

如果您对它的外观有任何想法(伪代码),请创建一个GitHub issue on the project。 就个人而言,我无法想象一种不会引入更多混乱然后将命令引入测试的方式。 确实,您可以在每个测试方法的基础上启动 Weld(实际上我认为这是基本模式),所以理论上它可以存在,但同时您可以通过创建一个抽象类来“解决”这个问题作为具有您的测试逻辑的父类,然后是您喜欢的尽可能多的子类,每个子类都有自己配置的WeldInitiator - 这应该实现完全相同的目标。

【讨论】:

  • 有趣的想法我还没有想到抽象方法。我会尝试一下,我也会尝试使用 Junit5 hierarchyContextRunner 的另一种方式并让你知道....但我不明白你的句子:“确实,你可以在 per 上启动 Weld -test-method based(实际上我认为这是基本模式)" 你的意思是on a per-test-class-basis 吗?
  • Weld-junit 支持这两个生命周期,但从 Junit5 的角度来看,每个方法模型应该是默认的。请参阅他们的用户指南 - junit.org/junit5/docs/current/user-guide/…
猜你喜欢
  • 2019-01-19
  • 2019-10-14
  • 2020-09-04
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多