Play フレームワークと scala は初めてで、コンパニオン オブジェクト内に依存関係を挿入しようとしています。
次のような単純なケースクラスがあります。
case class Bar(foo: Int) {}
次のようなコンパニオン オブジェクトを使用します。
object Bar {
val myDependency =
if (isTest) {
// Mock
}
else
{
// Actual implementation
}
val form = Form(mapping(
"foo" -> number(0, 100).verifying(foo => myDependency.validate(foo)),
)(Bar.apply)(Bar.unapply))
}
これは問題なく機能しますが、実際にはクリーンな方法ではありません。ビルド時に依存関係を注入できるようにして、テスト時にさまざまなモック オブジェクトを注入し、開発と運用でさまざまな実際の実装を注入できるようにしたいと考えています。
これを達成するための最良の方法は何ですか?
どんな助けでも本当に感謝しています。ありがとう!