gpt4 book ai didi

testing - 在常见的 spring 上下文下运行 Spock 测试

转载 作者:行者123 更新时间:2023-11-28 20:10:35 24 4
gpt4 key购买 nike

我使用 Spock 框架来运行我的测试。每个测试类上面都有 Spring 的注释 @ContextConfiguration。正如我所见,每个测试类都会提出上下文,并且在不同的类中运行几十个测试需要花费大量时间。有没有办法将 Spock 测试类配置为在通用 spring 上下文下运行?

最佳答案

这不是关于 spock,而是关于 spring。

Spring 可以在许多测试用例的一般应用程序上下文中进行缓存,但您必须知道如何正确地执行此操作。

作为第一个手段,请确保 @ContextConfiguration 的“locations”属性是相同的。

此外,还可以利用 @ContextHierarchy 注释。

这个缓存设施非常脆弱,但可以工作。

也许创建一个包含所有注释的通用规范并从中继承是有意义的:

@ContextConfiguration(locations = ...)
// or maybe
@ContextHierarchy (...)
public abstract class MyCommonSpec extends Specification {
}

// and not in tests:

public class MyTest1 extends MyCommonSpec {
...
}

public class MyTest2 extends MyCommonSpec {
...
}

这是一个link在一个非常相关的讨论中

关于testing - 在常见的 spring 上下文下运行 Spock 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52148361/

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