gpt4 book ai didi

java - Spring Boot - 测试用例 - 不要加载所有组件

转载 作者:搜寻专家 更新时间:2023-10-31 20:00:09 25 4
gpt4 key购买 nike

我正试图在 Spring MVC 中休息我的休息类(class)

如果我运行以下代码(在项目很小但现在失败时运行良好),它会尝试在我的应用程序中加载所有不同的组件。这包括与外部系统交互并需要凭据才能连接的 bean

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class TestDummyRest extends BaseRestTestCase{

@Autowired
private MockMvc mockMvc;

@MockBean
private IDummyServices mockDummyServices;


@Test
public void getSendGoodMessage() throws Exception {

given(mockDummyServices.sendGoodMessage(Mockito.anyString())).willReturn(true);

mockMvc.perform(get("/dummy"))
.andExpect(status().isOk())
.andExpect(content().contentType(TEXT_PLAIN_CONTENT_TYPE));

verify(mockDummyServices, times(1)).sendGoodMessage(Mockito.anyString());
}
}

我如何告诉我的测试类不要加载我的应用程序的@Configuration 或@Component 类?

最佳答案

您可以只创建您感兴趣的类,而不是不在您的应用程序中创建其他类,请参阅 15.6.1 Server-Side Tests - Setup Options

The second is to simply create a controller instance manually without loading Spring configuration. Instead basic default configuration, roughly comparable to that of the MVC JavaConfig or the MVC namespace, is automatically created and can be customized to a degree:

public class MyWebTests {

private MockMvc mockMvc;

@Before
public void setup() {
this.mockMvc = MockMvcBuilders.standaloneSetup(new AccountController()).build();
}

// ...

}

关于java - Spring Boot - 测试用例 - 不要加载所有组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43292148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com