Groovy 在测试中禁用备忘录(@Memoized annotation)

Groovy 在测试中禁用备忘录(@Memoized annotation),groovy,Groovy,我有一个带有@Memoized注释的方法 它工作得很好,但我想在单元测试中禁用memonization,使每个测试都有空缓存 有办法吗 UPD:解决方案1: boolean isProduction = true @Memoized def methodWithMemoize(String param){ println("methodWithMemoize param [$param]") } def methodWithNoMemoize(String param){ p

我有一个带有@Memoized注释的方法

它工作得很好,但我想在单元测试中禁用memonization,使每个测试都有空缓存

有办法吗

UPD:解决方案1:

boolean isProduction = true

@Memoized
def methodWithMemoize(String param){
    println("methodWithMemoize param [$param]")
}

def methodWithNoMemoize(String param){
    println("methodWithNoMemoize param [$param]")
}

def method = isProduction ? "methodWithMemoize" : "methodWithNoMemoize"

"$method"("hello")

将无注释方法包装到带注释的one@injecteer你的意思是这样做吗布尔值isProduction=true def methodWithMemoize(String param){println(“methodWithMemoize param[$param]”)def methodWithNoMemoize(String param){println(“methodWithNoMemoize param[$param]”)def method=isProduction?“methodWithMemoize”:“methodWithNoMemoize”“$method”(“hello”)``您使用的是什么测试框架?我使用的是Spock框架。我认为Spock从clean sheat的每个测试运行中删除,所以您根本不必担心清空缓存