问题标签 [equalsverifier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - EqualsVerifier 的 Equals 和 hashCode 合约
我对使用EqualsVerifier库的 Java有一些疑问equals
和合同。hashCode
想象一下我们有这样的东西
以及以下扩展类:
我尝试使用EqualsVerifier测试我是否履行了Person类中的equals
和hashCode
合同
运行这个测试,我知道我必须声明equals
和hashCode
方法最终,但这是我不想做的事情,因为我可能想在扩展类中声明这两个方法,因为我想使用一些孩子的属性在equals
和hashCode
。
您可以跳过测试 EqualsVerifier 库中的最终规则吗?还是我错过了什么?
testing - 如何在 Spock 测试中使用 EqualsVerifier
我一直在使用 spock 编写测试。但是为了测试 Equals Hashcode 合约,我正在尝试使用EqualsVerifier。所以我的测试代码看起来像:
但这看起来不像它与 spock 一起运行。
我该如何解决这个问题?我希望更喜欢使用 spock 进行测试。
maven - Nexus 不会从中央存储库下载完整的工件内容
在我们的项目中,我们使用工件
一切正常:Nexus 将与http://repo1.maven.org/maven2/nl/jqno/equalsverifier/equalsverifier/1.7.5/中相同的内容下载到其代理存储库。(Nexus 上工件详细信息中的“下载”列显示“pom,jar”)
现在,我们切换到工件的最新版本 2.0.2:
然后,当我们尝试构建项目时,尝试失败。Nexus 无法解析神器!Nexus 似乎没有下载工件版本的完整内容(Nexus 工件详细信息中的“下载”列显示“pom,pom”)。在另一个站点上,当我查看中央存储库中的工件时,内容与往常一样:http ://repo1.maven.org/maven2/nl/jqno/equalsverifier/equalsverifier/2.0.2/ 。
是什么导致最新工件版本出现问题?为什么 Nexus 不能正确下载?
java - 为什么在equals中使用的所有字段也应该在hashcode中使用?
@Edit:我正在使用这个库http://jqno.nl/equalsverifier/来检查是否正确equals
编写hashCode
。
假设我们有这个类:
在hashCode
我只在id
现场中继,因为这会给我很好的非冲突哈希。值得注意的是这种hash
方法符合所有规则equals-hashCode
。我不想用求和哈希做一些花哨的技巧,即:
那么你能解释一下为什么EqualsVerifer
默认需要使用equals
方法中的所有字段hashCode
吗?
equalsverifier - EqualsVerifier 断言错误:重要字段:equals 不使用,或者它是无状态的
使用 lombok、meanbean 和 equalsverifier 的 java 8 设置(所有 3 个的超级粉丝,并且还限制了我可以使用的每个 co.policy 的版本 - 在 equalsverifier 的 2.3.3 上):
我收到调用 EqualsVerifier 的重要字段错误:
如下更改了 B 类,并得到了重新定义的超类错误:
再次按如下方式更改了 B 类,并得到了重要的字段错误:
有什么建议么?我不知道如何通过这一关。
spring-boot - SpringBoot 中的 EqualsVerifier
我正在tests
为共享数据列表的两个类创建。当我使用时,EqualsVerifier
我收到一个错误,因为它要求我提供一个包含这两个类共享的数据的列表。
这是错误:
Recursive datastructure. Add prefab values for one of the following types: CustomerView, List<YearConfigView>, YearConfigView
这是@Test
课程:
CustomerView.java
:
YearConfigView.java
:
我的问题:我必须更改或添加什么EqualsVerifier
来解决问题?
equalsverifier - 如何更改构造函数参数?
我有一个在其构造函数中执行验证的记录,如下所示:
方法在哪里httpValid
:
但是,这未能通过我尝试创建的测试:
这是因为 EqualsVerifier 试图创建一个以“x”为参数的对象:
InvalidPropertyValueException: The value x is not a valid httpValid as url
quarkus - 使用 quarkus:dev 运行时,Equalsverifier 失败
在 quarkus 开发模式下运行 equalsverfier 时,equalsverfier 测试失败。
我试图用 equalsverifier 测试一个类。这适用于我的 IDE。我尝试在 quarkus 开发模式下使用它(通过运行 ./mvnw quarkus:dev),但随后失败并出现以下异常:
这是正在测试的类:
和测试:
我在这里想念什么?