如何测试springboot方法

如何测试springboot方法,第1张

SpringBoot 提供一个注解@SpringBootTest,它能够测试你的SpringApplication,因为SpringBoot程序的入口是SpringApplication,

基本的所有配置都会通过入口类去加载,而注解可以引用入口类的配置。

“java

@RunWith(SpringJUnit4ClassRunnerclass)

//指定SpringBoot工程的Application启动类

//支持web项目

@WebAppConfiguration

@SpringBootTest(classes = AppApplicationclass, webEnvironment = SpringBootTestWebEnvironmentMOCK)

public class IndexControllerTest {

@Autowired

private IndexService indexService;

第一步你需要在appctx文件中申明:

<bean id="serviceC" name="service_c_Mock" class="orgmockitoMockito" factory-method="mock">

<constructor-arg value="comxyxServiceC"></constructor-arg>

</bean>

需要注意的是bean的id必须要和A和B中autowire时使用名字一致。或者用类型也行。

然后在单测case中用@Mock或者@Resource引入sercieC。接着在单测case的Setup中调用如下语句。

MockitoAnnotationsinitMocks(this);

这时你测试A的方法,A访问B,B访问C时,调用会落在mockito生成的一个代理上。这个时候所调用的任何方法都会返回null。

这可能不是你期望的,你可能期望在A用到的那些些方法上,输入某个值时返回某个特定的值。这个时候你需要:

when()then();

如果这还不够,你希望他输入某个值的时候返回特定值,如果输入的值不是特定值的时候,返回正常逻辑的值,你需要spy,并传入一个serviceC的实现。

mockMvc = MockMvcBuilders<StandaloneMockMvcBuilder>webAppContextSetup(wac)build();

既可解决

以上就是关于如何测试springboot方法全部的内容,包括:如何测试springboot方法、如何用mockito+spring进行单元测试、关于spring mvc的测试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9870929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存