公共PHPUnit_Framework_TestCase子类的存储位置


Where to store a common PHPUnit_Framework_TestCase subclass

我有一个不断增长的BaseTestCase,它扩展了PHPUnit_Framework_TestCase。我有两个使用公共库的存储库(所有公司内部代码)。

这两个存储库都需要大部分BaseTestCase功能。所以我的问题是;

我是否将BaseTestCase类存储在公共库中,并在phpunit上创建一个依赖项。还是将BaseTestCase复制到每个存储库中?还是有我看不到的解决方案?

如果您正在使用composer来管理您的依赖关系。我建议您在自己的存储库中仅为BaseTestCase类创建一个单独的composer包。然后,您可以从每个存储库中要求它。

"require-dev": {
    "your-company/test-case": "dev-master"
},
"repositories": [
    {
        "type": "vcs",
        "url":  "<your clone url>"
    }
]

这样就不会在存储库中重复代码,也避免了测试工具污染公共库。

查看私人存储库中的composer文档以了解更多信息。