我已经安装了composer并通过'composer install'添加了一些包.它将它们安装在"my_project\vendor"路径下,但是一些软件包是使用git克隆的,所以当我提交"my_project"时,这些克隆的软件包被忽略了.
问题是,当其他开发人员克隆"my_project"时,他们会丢失被忽略的包.有没有办法自动将包添加到"my_project",以便其他开发人员从我这里获取它们?
我认为这应该使用子模块完成,但我不知道如何自动将作曲家的每个新包作为子模块添加到我的项目中.
我希望在我的所有测试中都有一个模拟对象,所以我尝试在setUpBeforeClass()方法中创建它,但是这个方法是静态的,所以必须像这样静态调用getMockBuilder:
public static function setUpBeforeClass() {
self::mocked_object = self::getMockBuilder('MockedClass')
->disableOriginalConstructor()
->getMock();
}
Run Code Online (Sandbox Code Playgroud)
问题是无法静态调用getMockBuilder:
Argument 1 passed to PHPUnit_Framework_MockObject_MockBuilder::__construct() must be an instance of PHPUnit_Framework_TestCase, null given
Run Code Online (Sandbox Code Playgroud)
是否有机会在setUpBeforeClass方法中构建模拟对象,或者每次测试之前是否必须构建它(在公共函数setUp()方法中)?