我为Magento 2编写了许多集成测试。这有助于我的本地开发,并且非常适合CI的工作方式。
但是,Magento的集成测试套件存在一些奇怪之处。例如:
- 默认情况下,它将启用所有模块,并且无法禁用它。这可能会产生一些有害的副作用,因为在客户端项目上,您很可能会禁用不需要的模块,例如Vertex模块。但是,此模块在客户模型中添加了必填字段,因此,不用说,如果您在集成测试中创建了客户,则该测试将失败。
- 它将Magento测试模块添加到您的代码库中。因此,每次运行集成测试套件时,您最终都会在
app/code/Magento
名称空间中拥有3个额外的模块。
这些问题使集成测试难以在本地项目中使用。曾经有人对我说,集成测试仅是为扩展开发人员创建的,用于测试您的模块是否通过了将其推向市场的标准。这是真的?因为如果是这样,那么为客户的网上商店编写集成测试的正确方法又是什么?我喜欢Magento注释和其他内容。真令人沮丧。