小编Rob*_*ann的帖子

使用mock模拟常量值

我们目前有一个仅由常量值组成的对象。

object Constants {
    const val VERSION = V1
}
Run Code Online (Sandbox Code Playgroud)

然而,这些常量的值将来可能会改变。因此,我想确保如果该值不满足某些条件,测试就会中断VERSION。我们使用 Mockk 进行模拟,所以我尝试Constants根据这样的文档来模拟对象

mockkObject(Constants)
every { Constants.VERSION } returns -1
assertThat(Constants.VERSION).isEqualTo(-1)
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不会编译并出现以下错误:io.mockk.MockKException: Missing calls inside every { ... } block.

有没有办法模拟常量值?或者我应该为常量提供 getter 方法并模拟它们?

kotlin mockk

6
推荐指数
1
解决办法
5478
查看次数

哪个 Maven BOM 确定 Gradle 5 中的依赖项版本?

我目前正在开发一个 Gradle 5 项目,该项目导入两个不同的 Maven BOM。因此,我使用没有依赖管理插件的原生 Gradle 语法。但是,两个 BOM 可能会为相同的依赖项定义不同的版本。

dependencies {
    implementation platform ("org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}")
    implementation platform ("com.organisation:xyz:${otherBomVersion}")
}
Run Code Online (Sandbox Code Playgroud)

据我所知,在 Maven 中,定义给定依赖项的版本的第一个 BOM 决定了它。相比之下,在Gradle 依赖管理插件中,为给定​​依赖定义版本的最后一个 BOM 决定了它。

在纯 Gradle 5 中如何处理导入的 BOM 的顺序?

dependency-management gradle maven-bom gradle-dependencies

5
推荐指数
1
解决办法
321
查看次数

如何在Flink中读取.bsq文件?

正确设置项目后,我需要读取/导入几个.bsq文件到我的环境中.我尝试使用这样的env.readFile()方法:

DataSet<T> data = env.readFile(*insertFileInputFormatHere*, filePath);
Run Code Online (Sandbox Code Playgroud)

但我无法得到合适的FileInputFormat.由于它是抽象的,我不能拥有自己的实例.我应该扩展abstract class FileInputFormat并使用我自己的扩展来实例化一个FileInputFormat?还是有另一种我不认识的方式?

java apache-flink

2
推荐指数
1
解决办法
464
查看次数

在Python中设置单个操作的并行度

我使用 dop > 1 执行程序,但我不需要多个输出文件。在 Java 中myDataSet.writeAsText(outputFilePath, WriteMode.OVERWRITE).setParallelism(1);正在按预期工作。

但当我在 Python 中尝试同样的方法时,它不起作用。这是我的代码: myDataSet.write_text(output_file, write_mode=WriteMode.OVERWRITE).set_degree_of_parallelism(1)

有可能在Python中实现这种行为吗?

python apache-flink

1
推荐指数
1
解决办法
435
查看次数

使用 Flink CEP 测量事件时间延迟

我已经使用 Flink CEP 实现了一个匹配三个事件的模式,例如A->B->C. 在我定义了我的模式后,我生成了一个

PatternStream<Event> patternStream = CEP.pattern(eventStream, pattern);

PatternSelectFunction这样的

patternStream.select(new MyPatternSelectFunction()).print();

这就像一个魅力,但我对所有匹配事件的事件时间感兴趣。我知道传统的 Flink 流 API 提供了丰富的功能,允许您注册 Flink 的内部延迟跟踪器,如本问题所述。我还看到 Flink 1.8RichPatternSelectFunction添加了一个新功能。但不幸的是我无法使用 Flink CEP 设置 Flink 1.8。

最后,有没有办法获取所有匹配事件的事件时间?

apache-flink flink-cep

1
推荐指数
1
解决办法
780
查看次数