相关疑难解决方法(0)

在类的所有实例方法中隐式使用Groovy Category

我有简单的Groovy类类,它为String实例添加了方法:

final class SampleCategory {

    static String withBraces(String self) {
        "($self)"
    }

}
Run Code Online (Sandbox Code Playgroud)

我想在我的单元测试中使用这个类别(例如).它看起来像这样:

class MyTest {
    @Test
    void shouldDoThis() {
        use (SampleCategory) {
            assert 'this'.withBraces() == '(this)'
        }
    }

    @Test
    void shouldDoThat() {
        use (SampleCategory) {
            assert 'that'.withBraces() == '(that)'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我想要实现的是能够指定SampleCategory在每个实例方法的范围内使用类别,MyTest因此我不必use(SampleCategory) { ... }在每个方法中指定.

可能吗?

groovy metaprogramming metaclass categories

12
推荐指数
1
解决办法
1821
查看次数

标签 统计

categories ×1

groovy ×1

metaclass ×1

metaprogramming ×1