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

为什么测试在Spring引导应用程序仍然工作没有@RunAnd(SpringRunner.class)只是@SpringBootTest

南门新荣
2023-03-14

我不明白为什么我的测试在没有@RunWith(SpringRunner.class)的情况下运行得很好。我在测试类上面只有@SpringBootTest。请解释下一种情况:1)何时我必须将@RunWith(SpringRunner.class)和@SpringBootTest设置在一起?2) 当我只能设置@RunWith(SpringRunner.class)和@SpringBootTest时,使用是多余的吗?3) 当我只能设置@SpringBootTest和@RunWith(SpringRunner.class)时,使用是多余的吗?

我的测试执行良好的代码是:

@SpringBootTest
//@RunWith(SpringRunner.class)
class SpringBootSimpleTestExampleApplicationTests {


    @Autowired
    private ApplicationContext applicationContext;


    @Test
    void contextLoads() {
        Object restTempalte = applicationContext.getBeanDefinitionCount();
        Assertions.assertThat(applicationContext).isNotNull();
    }

}

共有1个答案

钱季
2023-03-14

@春靴测试

除了@ContextConfiguration(classes=…)提供的常规Spring TestContext之外,它还提供了以下特性…​) spring测试中的注释。

当未使用嵌套@Configuration类且未指定显式类时,自动搜索@SpringBootConfiguration。允许使用“属性”属性定义自定义环境属性。提供对不同webEnvironment模式的支持,包括启动在已定义或随机端口上侦听的完全运行的web服务器的能力。注册TestRestTemplate和/或WebTestClient bean,以便在使用完全运行的web服务器的web测试中使用。

https://howtodoinjava.com/spring-boot2/testing/springboottest-annotation/

 类似资料:
  • 我不明白在springboot应用程序中如何正确地编写websocket测试用例。我有一个实现的类,我在中添加了这个处理程序: 但是当我写下下面的测试用例时,我得到了一个例外: 异常::发起WebSocket连接的HTTP请求失败 如果我将(结尾斜杠)它可以工作,但不工作。 我做错了什么?

  • 从https://projects.spring.io/spring-framework/,我有一个spring framework hellpworld程序。我删除了注释。然而,程序仍然可以像以前一样运行。为什么?这里的角色是什么?

  • 我正在使用JBoss开发我的第一个Web应用程序,并以Eclipse Luna和Windfly作为服务器。在WEB-INF中,我找不到web.xml文件。一切正常,应用程序正常工作,但是web.xml设置在哪里?如何更改,例如,类URL关联?请注意,我在编码的类中看不到任何注释。

  • 以下是我的场景。 我有我的应用程序,它构建在带有嵌入式tomcat服务器的Spring Boot上。在我的应用程序中,我有单元测试和集成测试。 首先,我想将我的应用程序构建为一个maven包(jar ),它将覆盖所有的单元测试,然后下一步是将jar文件作为spring boot application运行((java -jar myapplication.jar ),它将启动tomcat服务器。最

  • 我有这个项目。然后我做以下步骤: 转到 预期结果:错误消息(在浏览器中呈现) 白标签错误页 此应用程序没有 /error的显式映射,因此您将此视为一种退回。星期二八月27 16:59:23CEST 2019有一个意外的错误(类型=未找到,状态=404)。没有可用的消息 如何更改附加的代码,使文件索引代替此错误。是否呈现xhtml? 更新1:如果我去,我得到这个错误: 白标签错误页此应用程序没有/E

  • 我试着去理解Spring是怎么跟所有的事情联系在一起的。然而,我不明白为什么在单元测试spring代码时使用mockito?spring不能处理与mockito相同的DI吗?莫基托贡献了什么是纯泉所不可能做到的? 澄清:我的想法是,我可以使用一个不同的应用程序上下文来进行测试,在这里创建我需要的存根bean作为虚拟对象。