当前位置: 首页 > 知识库问答 >
问题:

在公共spring上下文下运行Spock测试

越学文
2023-03-14

我使用Spock框架来运行我的测试。每个测试类上都有Spring的注释@contextconfiguration。正如我所看到的,每个测试类都需要上下文,在不同的类中运行几十个测试需要很多时间。是否有一种方法可以配置Spock测试类以在公共spring上下文下运行?

共有1个答案

苏星宇
2023-03-14

不是关于斯波克而是关于Spring。

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

首先,请确保@contextconfiguration的'locations'属性是相同的。

@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 {
   ...
}
 类似资料:
  • 我想用Mock测试方法,没有spring上下文。我该怎么做?现在,变量返回null。我想设置方法的返回值。

  • 所有测试返回“NosuchBeanDefinitionException:没有'com.example.networkService'类型的合格bean可用:预期至少有1个bean符合autowire候选。依赖项注释:{@org.springframework.beans.factory.annotation.autowired(required=true)}” 这是配置文件application

  • 我正在尝试将Cucumber集成到现有的Spring Boot项目中 当前项目是单个Maven模块 单元测试(不含Spring上下文)和集成测试(含Spring上下文)组合在同一个测试文件夹中。 我想做的是能够调整我的单元测试和集成测试。 但是一旦我添加了依赖项(为了能够在规范旁边运行Spring上下文),它就要求文件夹中的所有测试都用注释。 下面是我的测试套件,配置为获取测试规范。 是否可以将两

  • 嗨,我有一个Spring Boot(2.1.6发行版)应用程序,我正在尝试添加一些简单的集成测试到我的应用程序。首先,我创建了一个基础IntegrationTest类,如下所示: 这是我的测试方法: 有什么建议吗?

  • 我有一个Selenium测试,它是在Spock框架的帮助下执行的。一般来说,它是这样的: null

  • 我使用Spock框架和Groovy脚本来测试我的Java应用程序。对于我创建的所有类,我的项目有100%的测试覆盖率。然而,我注意到覆盖范围显示,名为“app”的主类没有得到充分测试。 这是我对App类的一个测试: 如何用Spock框架充分测试Spring Boot应用程序上下文?