我需要在REST级别编写一个e2e测试,发送真正的请求。所以我想用应用上下文,而不是嘲讽豆。
RestController。类
有一个自动连接的MyService。类
,以及此<code>MyService。类依赖于两个存储库类。因此,我尝试模拟存储库
,并以以下方式将它们注入真正的服务
:
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = MyService.class)
@AutoConfigureMockMvc
class MyControllerTest {
@Mock private MyRepository repository;
@Mock private AnotherRepository anotherRepository;
@Autowired @InjectMocks private MyService service;
@InjectMocks private MyController controller;
@RepeatedTest(1)
void someTest() throws Exception {
MockHttpServletResponse response =
mvc.perform(...); assertThat(...);
}
}
@Service
@RequiredArgsConstructor
public class MyService {
private final MyRepository repository;
private final AnotherRepository another; ...}
但我得到了以下错误:org.springframework.beans.factory。UnsatisfiedPendencyException:创建名为“myRepository”的bean时出错。
我还尝试使用< code > @ context configuration(classes = { my config . class })没有成功:
@EnableWebMvc
@Configuration
public class MyConfig {
@Autowired private MyService service;
@Mock private MyRepository repository;
@Mock private AnotherRepository another;
}
我错过了什么吗?
将@RunWith(SpringRunner.class)
添加到类MyControllerTest
@RunWith(SpringRunner.class)
class MyControllerTest {
}
我必须为microservice X创建一个集成测试,它可以从外部sftp服务器下载、处理和导入csv文件。整个过程由一个Spring Boot调度程序任务启动,该任务启动一个spring批处理作业来处理和导入数据。导入过程由spring batch writer完成,它是一个restTemplate存储库(因此它调用对另一个微服务的post请求)。 我已经设法模拟了sftp服务器,在其上放置了一
我是Spring的新手,如果我做了一些愚蠢的事情,请原谅我。我正在尝试为我的应用程序编写一个使用Spring的集成测试。 我正在创建一个上下文层次结构,如下所示 在我的测试方法中,我试图创建一个新的子上下文,它只有一个bean,它是一个应用程序侦听器,依赖于父方法中的bean。 我面临的问题是,来自子上下文的bean没有收到应用程序事件的通知,而且@Value注释也没有得到处理。 我到底做错了什么
如何模拟集成测试所需的许多依赖关系? 我使用Mockito进行纯单元测试。在这种情况下,Pure意味着测试一个类,嘲笑它的所有依赖关系。漂亮。 现在是集成测试。假设在这种情况下,集成测试将测试以下内容: 消息被放入队列 我们也可以说,在第2步中发生的处理是严肃的事情。它依赖于大量的数据库交互、多种外部服务、文件系统,以及各种各样的东西。流还会引发很多副作用,所以我不能简单地确保响应是正确的——我需
有人在Android中使用Appium进行Web应用程序测试吗? 目前我正在使用Appium在IOS Simulator(IPad)中自动化我的Web应用程序,并且运行良好。我也想将它用于Android,即(Mac机器中的Nexus7 Simulator)。 我已经尝试了以下所需的能力… 但我在错误下面。。。 出现配置错误,未启动会话信息:响应客户端的错误:{“状态”:6,“值”:{“消息”:“会
在我的springboot应用程序中,我使用以下类执行集成测试 下面是在我的测试配置类中定义的bean 不过,只创建生产bean而不创建主bean。