我想对两个模块进行集成测试:一个是我的应用程序,可以根据一些业务规则发送电子邮件。在开发环境中,我模拟了电子邮件代理,因此send_email
被嘲笑。
所以我有一个工厂,可以构建真正的代理电子邮件或只是模拟。
当我部署我的应用程序时,我希望它使用真正的代理。我将使用docker容器部署它。
最好的方法是什么? 我可以使用Dependecy注入框架来更改代理电子邮件吗?
答案 0 :(得分:1)
您的工厂可以根据环境变量的存在生成正确的代理电子邮件。
既然你可以run your container with an environment variable passed at runtime (docker run -e env=value
),那将有助于工厂知道该怎么做。