对于我的Java应用程序,我尝试使用ScalaCheck编写一些基于属性的单元测试。为此,我需要生成器,但我能找到的所有教程都使用带有参数的构造函数来生成对象。我需要生成的对象没有构造函数参数,我无法添加这样的构造函数,因为它来自外部库。
我现在有以下内容(Jwt声明来自软件包组织.jose4j.jwt):
def genClaims: Gen[JwtClaims] = {
val url = arbString
val username = arbString
val claims = new JwtClaims()
claims.setNotBeforeMinutesInThePast(0)
claims.setExpirationTimeMinutesInTheFuture(60)
claims.setSubject(username) // error about Gen[String] not matching type String
claims
}
关于如何编写我的生成器,有什么建议吗?我对Scala一无所知,所以如果我犯了一个“明显”的错误,请耐心等待:)我的专业是Java,使用ScalaCheck进行测试是我第一次尝试Scala。
您需要返回声明对象的生成器,而不是声明对象。生成器实际上是一个可以返回声明对象的函数。我这样做的正常方式是使用理解(其他人更喜欢flatMap,但我认为这读起来更清晰)。
def genClaims: Gen[JwtClaims] = {
for {
url <- arbitrary[String]
username <- arbitrary[String]
} yield {
val claims = new JwtClaims()
claims.setNotBeforeMinutesInThePast(0)
claims.setExpirationTimeMinutesInTheFuture(60)
claims.setSubject(username)
claims
}
}
我有以下代码: 我不希望字段ui有一个getter,但是kotlin在默认情况下会生成它,因为它是构造函数中定义的val。 在properties and fields文档中,我发现我可以用以下代码生成一个私有getter 但我在构造函数定义中找不到这样做的方法
操作步骤: 菜单栏: Code —> Generate —> Constructor 快捷键: Mac: command + N Windows\/Linux: Alt + Insert —> Constructor
我使用的是jdk8,需要创建一个以类名作为构造函数参数的Spring组件。但是,使用我当前的代码,我遇到了运行时错误: 这是我的博客类: 这就是我尝试创建类的方式: 我可以了解一下创建该组件的正确方法/这里出了什么问题吗?提前感谢。
问题内容: 运行以下代码时出现错误: 输出为: 有什么问题? 问题答案: 该方法应命名为构造函数,而不是。(请注意双下划线。) 如果使用单个下划线,则只需创建一个名为的方法,然后获取一个不带参数的默认构造函数。
我试图连接2个表,并通过构造函数查询将结果添加到一个新对象。并非左表中的所有ID都在右表中。因此,通过外部联接,我希望从左表中获得所有结果,并从右表中获得结果,如果没有结果,则为null值。 我如何解决这个问题,是否可以让第二个参数是可选的?因为参数二是一个对象,这将自动解析为空值,解决了我的问题。 我在pgadmin中重新创建了查询,并得到了预期的结果。通过移除左边的外部联接(以及object中
我有以下课程布局: 我正在为服务创建一个单元测试,但我想将ServiceHelper用作一个“活动”类,但要模拟ServiceHelper中的构造函数参数。有没有办法通过Mockito实现这一点?