我正在使用PHP-DI库,它非常适合我的using a bootstrap and config file代码,正如PHP-DI文档所推荐的那样。
然后,在我的应用程序中,我将获取容器,并通过调用bootstrap来启动:
$container = require __DIR__ . '/Container/bootstrap.php';
$main = $container->get( Main::class );因此,现在我正在尝试使用PHPUnit设置单元测试。
我想获得每个测试类中的容器,这样我就可以通过使用$ $container->injectOn($this) as suggested in the PHP-DI documentation注入每个测试的所有依赖项。
我偶然发现了这个开放的问题,这个问题主要是我无法理解的,但它仍然开放,似乎没有任何建议。
https://github.com/PHP-DI/PHP-DI/issues/125
我唯一的想法是我可以像我的主应用程序一样在setUp()中调用bootstrap?
$container = require __DIR__ . '/Container/bootstrap.php';这是我应该做的吗?有没有更优雅的或推荐的方式来做这件事?
谢谢!
发布于 2019-04-16 02:10:38
是的,在你的测试中引导你的容器是完全可以的。如果您的bootstrap正在做太多的事情,那么可能会变得更加复杂,但理想情况下,您的bootstrap不应该做太多的事情(只需配置容器并创建应用程序类)。
https://stackoverflow.com/questions/55694924
复制相似问题