将 PHPUnit 与 PHP-DI 结合使用



我正在使用 PHP-DI 库,它通过使用引导程序和配置文件非常适合我的代码,正如 PHP-DI 文档所建议的那样。

然后,在我的应用程序中,我获取容器并通过调用引导程序来启动事情:

$container = require __DIR__ . '/Container/bootstrap.php';
$main = $container->get( Main::class );

所以现在我正在尝试使用 PHPUnit 设置单元测试。

我想掌握每个测试类中的$container,以便我可以按照 PHP-DI 文档中的建议使用 $container->injectOn($this( 注入每个测试的所有依赖项。

我偶然发现了这个悬而未决的问题[这主要是在我的脑海中],但它仍然悬而未决,似乎没有任何建议。

https://github.com/PHP-DI/PHP-DI/issues/125

我唯一的想法是我可以像我的主应用程序一样在 setUp(( 中调用引导程序?

$container = require __DIR__ . '/Container/bootstrap.php';

这是我应该做的吗?有没有更优雅或推荐的方法可以做到这一点?

谢谢!

是的,在测试中引导容器是完全可以的。如果您的引导程序正在执行太多可能会变得更加复杂的操作,但理想情况下,您的引导程序不应该执行太多操作(只需配置容器并创建应用程序类(。

相关内容

  • 没有找到相关文章

最新更新