Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lambda 如何在Spring Web中对控制器中创建的无限流量流进行单元测试控制器的流量单元测试_Lambda_Spring Webflux_Spring Test_Spring Reactive - Fatal编程技术网

Lambda 如何在Spring Web中对控制器中创建的无限流量流进行单元测试控制器的流量单元测试

Lambda 如何在Spring Web中对控制器中创建的无限流量流进行单元测试控制器的流量单元测试,lambda,spring-webflux,spring-test,spring-reactive,Lambda,Spring Webflux,Spring Test,Spring Reactive,是否有任何方法可以使用VirtualTimeScheduler或任何其他方法测试控制器方法中创建的无限流量流。e、 我在RestController中有以下代码 final String[] names = new String []{"Shailesh", "Josh", "Loredana", "Eugen", "Roger"}; final Random randomGenerator = new Random(); IntStream streamOfRandomIndexes

是否有任何方法可以使用VirtualTimeScheduler或任何其他方法测试控制器方法中创建的无限流量流。e、 我在RestController中有以下代码

final String[] names = new String []{"Shailesh", "Josh", "Loredana", "Eugen", "Roger"};
  final Random randomGenerator = new Random();
   IntStream streamOfRandomIndexes = IntStream.iterate(0, nextInt -> 
        randomGenerator.nextInt(names.length));
   Stream<String> fooNameStream = streamOfRandomIndexes.mapToObj(nextIndex -> names[nextIndex]);
     Flux<String> fooNames = Flux.fromStream(fooNameStream);
      Flux<Long> fooIds = Flux.interval(Duration.ofSeconds(1));
      return Flux.zip(fooNames,fooIds) .map(fooTuple -> new Foo(fooTuple.getT1(),fooTuple.getT2()));
final String[]names=新字符串[]{“Shailesh”、“Josh”、“Loredana”、“Eugen”、“Roger”};
最终随机生成器=新随机();
IntStream StreamOfRandomIndex=IntStream.iterate(0,nextInt->
randomGenerator.nextInt(names.length));
Stream-fooNameStream=streamofrandominexes.mapToObj(nextIndex->names[nextIndex]);
Flux fooNames=Flux.fromStream(fooNameStream);
通量fooIds=通量间隔(持续时间秒(1));
返回Flux.zip(fooNames,fooIds).map(fooTuple->newfoo(fooTuple.get1(),fooTuple.get2());
我不知道如何验证每个元素在1秒后依次返回。比如,如果我改变控制器的延迟,特定的测试时间间隔就会失败。我找了很多,但没有找到。 我有一些想法,因为getBody()是阻塞的,所以我不能使用virtualTimescheduler。但是,如何避免这种情况呢