gpt4 book ai didi

grails - 通过元类中的闭包替换带参数的方法

转载 作者:行者123 更新时间:2023-12-02 14:25:20 25 4
gpt4 key购买 nike

我有两个类(class):

class Foo {
String doSomething(String a, String b) {
return 'Not Working'
}
}


class Bar {
String methodIWannaTest() {
return new Foo().doSomething('val1', 'val2')
}
}

我想在测试中替换“doSomething”,但它不起作用
class BarTests {
@Test
void testMethodIWannaTest() {
Foo.metaClass.doSomething {String a, String b -> return 'Working'}

assert new Bar().methodIWannaTest() == 'Working' //THIS TEST FAIL, return 'Not Working'
}
}

*我知道测试并没有真正的意义,这只是为了表明我的观点

我做错了什么?不使用 'mockFor' 是否可以做到这一点?

最佳答案

我建议你重新开始测试。 Baby Steps是我遵循的。 :)

  • 创建一个新的 grails 应用程序。
  • 创建两个 FooBar里面 src/groovy在一个包下。
  • 从命令提示符创建单元测试用例。放置所需的测试代码。
  • 执行grails test-app

  • [Grails v2.2.0]

    关于grails - 通过元类中的闭包替换带参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16714062/

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