ExpandoMetaClass を使用して、サービスが統合テストで常に成功を返すようにしていますが、実際に失敗するテストが 1 つ必要です。
ExpandoMetaClass の使用例:
static {
ExpandoMetaClass someService = new ExpandoMetaClass(Object, false)
someService.accessAnotherSystem = { return 'success' }
someService.initialize()
SomeService.metaClass = someService
}
注:現在、サービスはコントローラー用に定義されていませんが、それは名前が付けられたクラスを参照するSpring Beanであるため、SomeService
正常に機能します。つまり、コントローラーsomeService.accessAnotherSystem()
にはありません。def someService
controller.someService.metaClass.accessAnotherSystem = { return 'failure'}
したがって、統合テストからはできません。
また、これは Webflow の統合テストです。
1 つのテストで metaClass をリセットすることは可能ですか? または何らかの方法で必要なものをテストすることはできますか?