我发现自己在许多测试中都实例化了相同的对象,所以我试图通过使用Bread::Board来替换这个常量设置。大多数时候,我希望依赖项具有相同的配置。但有时我可能希望使用非默认参数创建一个实例。在创建容器实例后,我还希望能够更改它。例如,我通常想要
my $c = Test::Container->new;
my $bar = $c->resolve( service => 'bar' ); # where bar depends on foo
但有时我真正需要的是
my $bar = $c->resolve( service => 'bar', {
services => {
foo => { init => 'arg' }
}
}
以便在创建 bar 的实例时以不同方式初始化服务 foo。