从昨天开始,我遇到了以下问题:会话存储中的变量在会话存储下的 chrome/devtools 中不再可见。在控制台中,我可以调用变量,因此它们在这里,但不可见。
到目前为止,我解决这个问题的唯一方法是将我的 chrome 配置文件更改为“gast”。然后我就可以看到变量了。但我不知道应该进行哪些设置才能使其在我的常规配置文件下工作。
有人有线索吗?
我正在测试一个项目,并使用 Codecov 发布测试的覆盖率。Codecov 使用 Jacoco 生成的报告,到目前为止效果良好。Codecov 不仅显示覆盖率,还显示测试的复杂度。
我对这个复杂率有两个问题,我在文档中找不到答案:
复杂度到底是多少?Codecov 如何衡量它?
所测试的项目是一个maven多模块项目。当我在 POM 中激活 jacoco 插件的 report-aggregate-goal 时,为了聚合每个模块的报告,结果在 codecov 上不会显示复杂性:
为什么会这样呢?
我有一个使用 Spring Data 的 Springboot 应用程序。仅出于测试目的,我使用嵌入式 H2 DB 并通过 data.sql 文件加载一些初始数据。我的实体注释为
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Run Code Online (Sandbox Code Playgroud)
我面临的问题:对于 id 的生成(当我保留某些对象时),不考虑初始数据(在 data.sql 中)中已使用的 id 值。结果会产生冲突,因为 Hibernate 可能会尝试使用已经使用过的 Id。一个解决方案是将 GenerationType 更改为IDENTITY,但我不愿意这样做,因为在生产中我更喜欢 GenerationType.AUTO 。
处理这个问题的最佳实践是什么?
我对泛型方法的语法有点困惑。读完这篇文章后我的理解是通用方法应该这样声明:
public static <E> void printArray( E[] inputArray )
Run Code Online (Sandbox Code Playgroud)
作为<E>占位符,告知 E 是泛型类型
那么为什么我会在javadoc中找到这样的内容:
Stream<T> filter(Predicate<? super T> predicate)
Run Code Online (Sandbox Code Playgroud)
没有占位符?我本来期望
<T> Stream<T> filter(Predicate<? super T> predicate)
Run Code Online (Sandbox Code Playgroud)
以及为什么
<R> Stream<R> map(Function<? super T,? extends R> mapper)
Run Code Online (Sandbox Code Playgroud)
这次有一个占位符,但只用于 R,不用于 T。为什么?
根据javadoc,Optional.map() 返回一个Optional。
在下面的代码片段中:
public String getName(Long tpUserId) {
Optional<TpUser> selectedTpUser = tpUserRepo.findById(tpUserId);
return selectedTpUser.map(user -> user.getFirstName() + " " + user.getSurName())
.orElseThrow(() -> new IllegalArgumentException("No user found for this id"));
}
Run Code Online (Sandbox Code Playgroud)
看起来,我想返回一个字符串,但我得到一个可选的。尽管如此,没有编译错误。为什么?
java ×2
codecov ×1
generics ×1
h2 ×1
hibernate ×1
jacoco ×1
option-type ×1
session ×1
spring-boot ×1