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

用Slice在Spring Boot中用MockMVC测试静态内容

壤驷骁
2023-03-14

我试过这样的方法:

@RunWith(SpringRunner.class)
@WebMvcTest(
    controllers = {}
)
public class StaticAssetsMVCTest {

但是{}是默认值,它查找所有控制器。是否有一种方法可以排除所有控制器,但保留应用程序中的其他基本spring-web内容,以便只测试静态资产切片?

共有1个答案

柯建修
2023-03-14

在一个完整的服务器上测试静态内容怎么样?

下面是一个示例应用程序来展示我所说的内容。

此类测试的入口点是@LeanWebTest注释:

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = {
    MvcConfig.class,
    WebSecurityConfig.class
})
@EnableAutoConfiguration(exclude = {
    DataSourceAutoConfiguration.class,
    JpaRepositoriesAutoConfiguration.class
})
@Retention(RetentionPolicy.RUNTIME)
public @interface LeanWebTest {
}
    null

@LeanWebTest不使用应用程序中的任何@bean,指定的配置类除外。(没有创建@控制器)

我看到以下方面适用于@LeanWebTests:

  • robots.txt文件
  • javax.servlet.filters
  • 静态资源压缩
  • 静态资源缓存
  • 等。
    null
 类似资料:
  • 共享Api实现类,添加preauthorize-admin,查看所有用户 这是我的JUnit测试,我发送get请求并返回403错误。

  • 我无法访问静态内容(angular app),甚至无法访问简单的索引。来自spring boot的html文件。我一直收到404错误。Spring没有为我提供这些静态文件。自从升级到Spring Boot 2.2.4后,我就遇到了这个问题。我必须升级以应对Zip64问题。 我的application.properties里有这样一句话: 我也有自己的staticResourceConfigurat

  • 我正在为我的项目编写junit测试用例,但我在这里面临一个问题,就是我在我的一个java类(GraphNodes.java)中使用的方法 这是我的Junit测试类 我的junit失败了,它说excepted<3>但actual<0>而且我不能将静态方法仅改为public,因为这会影响代码的某些功能,而且由于我是junit的新手,所以我不知道如何解决这一问题。所以有人能在这里帮助我吗?谢谢!!

  • 配置:11400:arm-linux-gnueabihf-gcc-o conftest-g-o2-i/home/user/rpi_dev/lib/include conftest.c-lz-lm>&5/home/user/rpi_dev/xtools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm

  • 因此,我正在IntelliJ开发一个spring boot应用程序。使用Gradle,我创建了sprint引导jar文件。 我很难确定将JSP和静态内容(如。js文件)放在哪里,这样运行jar和从IntelliJ内部运行都能正常工作!

  • 问题内容: 我编写了一个测试UsersController的单元测试。UsersControllerTest.findUser工作正常,但不能正常运行UsersControllerTest.insertGetModifyDelete。 在测试日志中,我可以看到POST请求与UsersController的任何方法都不匹配,但是我不明白为什么。您能帮我这个吗? 这是我其余的Java类: 我有2种方法