Laravel - 注入一个具有未知参数的类

时间:2014-12-17 13:59:57

标签: php testing laravel

我试图通过我的控制器构造函数注入一个类,以便我可以测试它。但是,我使用的I类来自external package。类SteamId需要传递参数。

$steam = new \SteamCondenser\Community\SteamId('1234');

因此,虽然这有效,但它不可测试或可模仿。一旦用户登录"我就会从URL获取所需的ID,因此我无法在启动时将类绑定到SteamId的实例,因为我当时不知道ID。 E.g

App::bind('SteamCondenser\Community\SteamId', function() {
    return new SteamCondenser\Community\SteamId('1234');
});

class SteamController extends BaseController {

    public function __construct(\SteamCondenser\Community\SteamId $steam) {
        $this->steam = $steam;
    }

在我的SteamController上的某个方法被调用之前,我不会识别该ID。

我如何解决这个问题,以便能够测试和模拟课程?

0 个答案:

没有答案