我有两个班级:
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' 是否可以做到这一点?