我是 CI 的新手,正在努力了解它。
我熟悉 Laravel 和 Symfony,我发现测试 CI 代码非常困难。
我正在考虑使用服务定位器模式来尝试解决依赖注入限制,但现在我正在为自动加载而苦苦挣扎。
假设我有一个这样的模型:
<?php
class FooModel extends CI_Model
{
public function __construct()
{
parent::__construct();
$this->load->library('alertnotificationservice');
}
}
我想编写一个如下所示的测试:
<?php
namespace Test\AlertNotification;
// extends TestCase and offers reflection helper methods
use Test\TestBase;
class FooModelTest extends TestBase
{
public function test_my_method()
{
$objectUnderTest = new \FooModel();
}
}
当我运行我的测试时,我得到了错误Error: Class 'CI_Model' not found。
我正在使用 CodeIgnitor 3.1.2,它不使用 composer 或包含版本 4 手册引用的 phpunit.xml.dist 文件。
让自动加载发生以便我可以运行测试的“正确”方法是什么?
阿波罗的战车