Sio*_*ion 5 java groovy stub 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)
我们将非常感激地提供任何帮助.
只需创建第二个存根:
X509Certificate stubCert = Stub()
Principal princ = Stub()
princ.toString() >> "Test"
stubCert.getSubjectDN() >> princ
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2161 次 |
最近记录: |