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

Gradle测试任务,如何设置Spring引导环境进行测试?

阙庆
2023-03-14

我有一个使用Gradle的Spring启动项目设置。我有一个application.yml文件,它描述了用于名为'dev'和'prod'的两个环境的设置。

在调用Gradle bootRun任务时,我可以使用build.Gradle中的以下代码将默认环境设置为'dev':

def profile = 'dev'
bootRun {
    args = ["--spring.profiles.active=" + profile]
}
def profile = 'dev'
test {
    args = ["--spring.profiles.active=" + profile]
    testLogging {
    showStandardStreams = true
    }
}
FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Users\Blade\javaworkspace\AutomationStatisticsPortal\build.gradle' line: 43

* What went wrong:
A problem occurred evaluating root project 'AutomationStatisticsPortal'.
> Could not set unknown property 'args' for task ':test' of type org.gradle.api.tasks.testing.Test.

我是否可以假设tomcat会选择'prod'配置,因为如果我不重写它,这似乎是默认行为?

请指教。

共有1个答案

习洲
2023-03-14

试试这个

test {
  systemProperties['spring.profiles.active'] = 'dev'
}
 类似资料:
  • Yii 2 官方兼容 Codeception 测试框架, 你可以创建以下类型的测试: 单元测试 - 验证一个独立的代码单元是否按照期望的方式运行; 功能测试 - 在浏览器模拟器中以用户视角来验证期望的场景是否发生 验收测试 - 在真实的浏览器中以用户视角验证期望的场景是否发生。 Yii 为包括 yii2-basic 和 yii2-advanced 在内的应用模板脚手架提供全部三种类型的即用测试套件

  • 我有一个gradle项目,其中“单元测试”和“集成测试”任务定义如下: 我在IntelliJ中创建了一个运行配置来运行所有单元测试,如图像显示: 并对任务“integrationTest”执行了相同的操作: IntelliJ“理解”测试任务并运行它,显示图形结果,如下图所示: 当它运行“集成测试”任务时不会发生同样的情况。结果以文本形式显示,就像我通过命令行运行任务时一样。

  • 是否可以在gradle.properties文件中定义test.maxParallelForks=runtime.runtime.availableProcessors(),而不是在test任务下的每个build.gradle文件中定义它?

  • 我花了相当长的时间试图找出解决我问题的办法,但毫无结果。 无论如何,我有一堆集成测试(在一个与标准测试目录并行的非标准目录testRegression中)。 这些集成测试使用内存数据库中的h2。在生产和测试中,我使用liquibase来模拟模式演变。 我的属性(在应用程序testregion.properties中)如下所示: 我一直得到的错误是: 那么我该如何回避这个问题呢?我的基本理解是,每个

  • 我想编写一些测试,检查部署的WAR的XML Spring配置。不幸的是,有些bean需要设置一些环境变量或系统属性。在使用@ContextConfiguration的方便测试样式时,如何在spring bean初始化之前设置环境变量?

  • 我有一个rest Spring Boot rest API,我想测试它。我可以在Eclipse中手动运行测试(不使用maven,并通过将应用程序作为JUnit测试运行),它运行良好并显示结果,但是不能“工作”,如下所示。 以下是我的POM文件: