gpt4 book ai didi

java - 你如何模拟 GroovyTestCase 中的方法?

转载 作者:行者123 更新时间:2023-11-30 10:56:07 25 4
gpt4 key购买 nike

我一直试图通过 groovy 测试教程弄清楚 stub 和模拟,但无济于事。我试图 stub (或模拟,我不太确定术语)这种方法,但我无法弄清楚如何真正获得正确的语法。我会很感激一些帮助。我正在使用 groovy 2.4.5

public class foo {
public static void main(String[] args){
method1();
}

public static void method1(){
//do stuff
Object baz = new Object();
method2(baz);
}
public static void method2(Object baz){
//do stuff
}
}


class FooTest extends groovy.util.GroovyTestCase {
void testMainLoop(){
def stubMethod2 = new StubFor(foo);
stubMethod2.ignore.method2
stubMethod2.use {
foo.method1();
}
}
}

这段代码抛出错误:

groovy.lang.MissingPropertyException: No such property: method2 for class: groovy.mock.interceptor.Ignore
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53)
at org.codehaus.groovy.runtime.callsite.GetEffectivePogoPropertySite.getProperty(GetEffectivePogoPropertySite.java:87)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296)
at fooTest.testMainLoop(fooTest.groovy:14)

最佳答案

你应该使用:

stubMethod2.ignore('method2')

比:

stubMethod2.ignore.method2

能否说明一下您想要实现的目标?

顺便说一句:我建议使用 spock而不是常规的内置测试。

关于java - 你如何模拟 GroovyTestCase 中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33093919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com