spring-integration - Spring Integration Java DSL:如何在 JUnit 中运行集成流程?
问题描述
如何在下面的 JUnit 类中运行 integrationFlow?目前有例外
java.lang.AssertionError: Further request(s) expected leaving 1 unsatisfied expectation(s). 0 request(s) executed.
因为集成流程没有启动。
JUnit 类:
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@DirtiesContext
public class FlowTest {
private final RestTemplate restTemplate = new RestTemplate();
private MockRestServiceServer mockServer;
@Before
public void setup() {
mockServer = MockRestServiceServer.createServer(restTemplate);
}
@Test
public void test() {
mockServer.expect(requestTo("http://localhost:8080/data"));
final IntegrationFlow integrationFlow = f -> f
.handle(Http.outboundGateway("http://localhost:8080/data", restTemplate).httpMethod(HttpMethod.GET)
.expectedResponseType(String.class));
mockServer.verify();
}
}
解决方案
您不能只在测试方法中定义这样的流程;框架必须在幕后进行大量组装。
将流定义为@Bean
测试@Configuration
类中的 a。
推荐阅读
- javascript - 在 React 中未定义 useContext()
- amazon-dynamodb - DynamoDB Stream 同时显示 INSERT 和 UPDATE 以插入新记录
- python - Python:换屏的简单函数
- java - 使用 jmx 和 java 获取 kafka mbeans
- r - 在 R 中绘制网络时调整 igraph mark.groups 多边形的曲率
- python - 计算 LSTM 模型的雅可比矩阵 - Python
- javascript - 使用 piexifjs 在 jpeg Exif 上添加/修改 gps 坐标
- dart - 如何获取标识符类型 dart-analyzer
- python - Python 和 VBA 之间的通信
- python - 如何将熊猫数据框多索引列移动到 2 行