使用Docker和Dependecy Injection Framewrok

我想做两个模块的集成testing:一个是我的应用程序,可以根据一些业务规则发送电子邮件。 在开发环境中,我嘲笑电子邮件代理,所以send_email被嘲笑。 所以我有一个工厂,build立真正的代理电子邮件或只是一个模拟。

当我部署我的应用程序,我希望它使用一个真正的代理。 我将使用docker容器来部署它。

什么是最好的方法? 我可以使用Dependecy注入框架来更改代理电子邮件吗?

您的工厂可以根据环境variables的存在生成正确的代理电子邮件。

因为你可以在运行时通过一个环境variables运行你的容器( docker run -e env=value ) ,这将有助于工厂知道该怎么做。