小编Sio*_*ion的帖子

Spock - 返回固定值不按预期工作

如果我使用的条款不正确,我必须先道歉.我只使用groovy/java进行自动化任务(Gradle),而且我没有多年提供生产级软件的经验.

所以,我遇到的挑战如下:我有一个规范试图测试返回字符串是否符合预期(几乎与相同).

def "pretty print returns correct string"() {
    setup:
    X509Certificate stubCert = Stub()
    stubCert.getSubjectDN().toString() >> "Test"

    when:
    def output = X509CertificateUtils.prettyPrint(stubCert)

    then:
    output == "Subject: Test"
}
Run Code Online (Sandbox Code Playgroud)

但是,区别在于我的方法约束返回一个Principal对象,而它的对象是toString(),我真的想要存根.我以为我在上面正确地做了这个,但它没有给出我期望的结果.

这是我的助手班.

import java.security.cert.X509Certificate

class X509CertificateUtils {

    static def prettyPrint(X509Certificate x509Certificate) {
        return "Subject: ${x509Certificate.getSubjectDN()}"
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我运行此测试,我会收到以下错误:

output == "Subject: Test"
|      |
|      false
|      38 differences (20% similarity)
|      Subject: (Mock for )t(ype 'Principal' named 'dummy')
|      Subject: (Tes------)t(-----------------------------)
Subject: Mock for type 'Principal' named 'dummy'
Run Code Online (Sandbox Code Playgroud)

我们将非常感激地提供任何帮助.

java groovy stub spock

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

用 Go 解码 gZip json

作为 Go 新手,我很难确定问题区域,但希望为您提供一些事实会有所帮助。

我正在使用一个Content-Encoding以 gzip形式返回的 API 。我编写了以下内容来编码我的响应结构:

reader, err = gzip.NewReader(resp.Body)
defer reader.Close()

// print to standard out
//_, err = io.Copy(os.Stdout, reader)
//if err != nil {
//  log.Fatal(err)
//}

// Decode the response into our tescoResponse struct
var response TescoResponse
err := json.NewDecoder(reader).Decode(&response)
Run Code Online (Sandbox Code Playgroud)

为简洁起见,我删除了错误处理,但有趣的是,如果我取消对 stdout 打印的注释,我会得到预期的结果。但是,解码并没有给我我所期望的。任何指针?是不是结构必须完全映射到响应?

这是完整的示例:https : //play.golang.org/p/4eCuXxXm3T

json gzip go

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

标签 统计

go ×1

groovy ×1

gzip ×1

java ×1

json ×1

spock ×1

stub ×1