gpt4 book ai didi

junit5 给出扩展之间的依赖关系

转载 作者:行者123 更新时间:2023-12-04 13:57:34 27 4
gpt4 key购买 nike

我刚刚开始编写一些 junit5 测试和扩展。

我很快就遇到了我认为的问题:我如何告诉 junit5 ExtensionB需要 ExtensionA在场?

例如,我有一个“基本”扩展名 ExtensionA它启动一个数据库并进行一些初始化,这对于一些测试来说已经足够了。

我也有ExtensionB这“需要”一些由 ExtensionA 完成的工作,主要是从 store 中获取一些对象,然后解析一些参数。

显然,每当我想要扩展 B 时,我也需要存在扩展 A。有没有办法强制它?我试过用 @ExtendWith(A.class) 注释类(class)ExtensionB但这似乎没有效果。

有没有办法实现我所需要的?

或者我只是以错误的方式使用 junit5 并且应该只有一个扩展名可以为我做所有事情?

最佳答案

Jupiter 扩展是无状态的,因此声明彼此之间没有依赖关系。

想要拥有 A 和 B 的特征吗?创建从 A 和 B 借用代码的扩展 C。

话虽如此,扩展可以通过扩展存储与自己和其他扩展进行通信:https://junit.org/junit5/docs/current/user-guide/#extensions-keeping-state

关于junit5 给出扩展之间的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58858912/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com