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

是否可以在WebMvcTest中激活spring配置文件

长孙高远
2023-03-14

给定一个测试类,如:

@WebMvcTest
@RunWith(SpringRunner.class)
@SpringBootTest(properties = "spring.profiles.active=test")
public class MyControllerTest  {
... some tests
}

我得到了错误:

java.lang.IllegalStateException:配置错误:发现测试类[com.example.myControllerTest]的多个@BootStrapWith声明:[@org.springframework.test.context.bootStrapWith(value=class org.springframework.boot.test.autocigure.web.servlet.webmvctestcontextbootStrapper),@org.springframework.test.context.bootStrapwith(value=class

理想的目标是,我只是运行一个控制器测试,因此出于测试性能的原因,我不想设置整个上下文--我只想要“Web层”。

我可以删除@springboottest(properties=“spring.profiles.active=test”)行-但是,现在我还没有激活测试配置文件,它可能通过属性以某种方式定制web上下文,例如不再应用的jackson定制。是否有一种方法,得到一个“网页层”只测试,仍然激活一个spring配置文件?

我的环境是Java版本“10.0.2”2018-07-17,spring boot1.5.16.版本

共有1个答案

吕征
2023-03-14

要设置活动配置文件,可以使用@activeprofiles,如下所示

@WebMvcTest
@RunWith(SpringRunner.class)
@ActiveProfiles("test")
public class MyControllerTest  {

然后您可以在测试资源中application-testyml或属性。

 类似资料:
  • 下面是我的Spring boot(2.4.5)应用程序的应用程序yaml,有两个配置文件。 Spring:配置文件:dev 但是根据环境配置文件可以不同。我不想硬编码配置文件

  • 我试图为dev、ct、e2e和prod创建Spring Boot配置文件。我正在使用application-*.yml文件来提供配置文件特定的设置。我能够成功激活ct和prod配置文件,但我不能激活开发和e2e配置文件。 我只在Intellij中观察到过这个问题。这是IntelliJ中的bug,还是我遗漏了什么?

  • 但却被忽略了。 是否可以使用maven激活配置文件?

  • 问题内容: 我有2个maven2配置文件,硒和jspc。现在,对于“ selenium”,id希望隐式激活“ jspc”,这样我就不必从命令行编写mvn -Pselenium,jspc。这可能吗 ? 问题答案: 您不能“链接”配置文件激活(maven参考),但是可以通过相同的属性来激活它们: 和运行

  • null 我找到的消息来源,但没有解决我的问题: http://www.baeldung.com/cucumber-spring-integration(使用@ContextConfiguration loader和SpringApplicationContextLoader.class(在撰写本文时的最新版本Spring Boot1.5.2中没有)。 在Cucumber中编程设置Spring配置

  • SuperMap Online支持生成 .v2c 和 .licc格式的文件许可,您可以在“我的订单”中点击“订单号”进入许可激活页面。 .v2c格式 和 .licc格式的许可文件,均适用于单机、局域网、虚拟机等环境。不同的是 *.licc格式的许可文件更适用于云环境,购买SuperMap iServer按核许可即核模块时,建议您使用此类型。 通过许可中心生成的 .c2v文件和 .reportc文件