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

如何在Spring Boot测试中设置servlet上下文路径?

蒋英博
2023-03-14

我使用Spring Boot 2.1.2. RELEASE编写联调,无法设置所需的上下文路径。它总是等于空字符串(用servletContext.getContextPath()获得)。

application-test.properties:

server.servlet.context-path=/app

测试配置:

@ExtendWith(SpringExtension.class)
@ContextConfiguration
@Import({MailSenderAutoConfiguration.class, ThymeleafAutoConfiguration.class})
@WebAppConfiguration
@TestPropertySource(locations="classpath:application-test.properties")
public class MyServiceTests {...}

呼叫代码:

@Value("#{'${application.base-url}' + servletContext.contextPath}")
private String siteUrl;

应用测试中的其他属性。按预期注入属性。上下文路径通常在我运行服务器时设置。我试图以@SpringBootTest的形式启动这个测试,在变量@TestPropertySource(locations=“classpath:application-test.properties”,properties=“server.servlet.context-path=/app”)中提供了一个上下文路径,但没有结果。如何设置测试的上下文路径?

共有1个答案

苏鹏鹍
2023-03-14

我发现了这样的漫游:

文件应用程序测试。属性:

application.base-url=http://test.ru
server.servlet.context-path=/app
application.root-url=${application.base-url}${server.servlet.context-path:}

呼叫代码:

@Value("${application.root-url}")
private String siteUrl;
 类似资料:
  • 我必须在tomcat 7中部署我的app.war文件。的。war文件名后面是它的版本号。这里我需要设置一个上下文路径,这样实际的url将只包含应用程序名(没有版本号)。 我的要求是,服务器中不应该有编辑.xml。 这是我的背景。xml如下所示。 context.xml放在war at /META-INF文件夹中。谁能告诉我我错在哪里?

  • 我想不通..出于某种原因,Spring Junit没有将我的bean添加到上下文中。请砰!! 由:org.springframework.beans.factory.nosuchBeanDefinitionException引起:没有类型为“com.api.demo.store.FileStorage”的合格bean可用:需要至少有1个bean作为autowire候选bean。依赖项注释:{@or

  • 我是一个Spring新手,正在制作一个Spring Web应用程序(不是Spring-boot,这有多大区别?)。部署在Tomcat7服务器上。 应用程序已启动并运行。我的问题是只能通过标准URL访问: http://mycompany.com:8081/cwing-0.0.3-snapshot/index.html 以下操作不起作用:http://mycompany.com:8081/cwing

  • 我有一个springboot项目。在远程tomcat服务器webapps目录上使用WAR包。ROOT是WAR项目,它有两个文件夹,WEB-INF和META-INF。如下所示 现在出现了一个问题,我上传的文件在项目根目录'upload-dir'目录下(您可以在下图中看到upload-dir位置)。不在WAR包中,也不在远程服务器上。我应该在远程服务器上的哪里创建这个新目录? 我使用Files.cre

  • 给定以下web.xml: 如何告诉DropWizard将“模块”servlet上下文参数设置为“com.foo.MainModule”? 始终返回空列表。我们应该扩展这个类吗?

  • 我将application.properties中的contextPath设置为server.contextPath=/mywebapp,在带有spring security的spring boot application中,默认url设置为/login it,而不是将上下文路径设置为/mywebapp,并将我重定向为/login而不是/mywebapp/login。如何用spring secur