Groovy 1.8.6 と Grails 2.1.1 を使用しています
私はインターフェースを持っています
public interface Searchable{
Long docVersion()
}
オブジェクトによる実装
class Book implements Searchable {
Long docVersion() {
System.currentTimeMillis() / 1000L
}
String otherMethod() {
"toto"
}
}
そしてテスト
@Mock([Book])
class SomeBookTester {
@Before
void setup() {
Book.metaclass.docVersion = {-> 12345}
Book.metaclass.otherMethod = {-> "xyz"}
}
@Test
void test1() {
assert 12345 == new Book().docVersion()
}
@Test
void test2() {
assert "xyz" == new Book().otherMethod()
}
}
メソッドの置換が機能しないため、最初のテストは常に失敗します。どうすればこれを修正できますか? 問題は何ですか?