我最近在Magento网站遇到了一些问题,我正在寻找一种方法来检查Magento网站在任何给定点的完整性.
单元测试跳出来作为这样做的一种方法,但我认为编写大量测试以检查站点中的所有内容是否正常工作将是一项非常大的工作.
任何参与单元测试和magento的人都可以提供以下建议:
>是否可以测试整个站点而不仅仅是自定义模块 –
是的,一些测试的例子会很棒.
>鉴于该网站与数据库密切相关 – 它将如何
可以在不干扰数据库的情况下对网站进行全面测试
>有没有更好的方法来自动检查a的完整性
magento网站
当我说诚信时,我的意思是网站上没有任何错误 – 运费,付款等都正常工作.
这是一项艰巨的任务,但有Magento社区成员已经解决了这个问题.
EcomDev_PHPUnit模块为Magento的单元测试提供了框架,但它不包含任何实际测试.它可以(并且已经)用于测试您自己开发的核心功能或模块.
EcomDev模块的一个主要优点是它确实提供了100%的数据库隔离.它创建数据库结构的精确副本,然后使用fixture(请参阅manual的第6页)将数据插入到这些表中以创建测试先决条件.这是强大的最佳实践,但确实需要相当多的设置.
您可以尝试使用PHPMyAdmin将数据导出到YAML中,以便创建灯具.
另一种方法是为浏览器UI创建和自动化全面的Selenium测试套件.实际上,最好的解决方案是准备单元和UI测试,因为只有在一个功能域中才能测试的区域. Magento的Javascript(例如所有的validation.js)内置了大量的业务逻辑,PHPUnit无法轻松测试,Selenium是您的最佳选择.
关于创建单元测试存储库以涵盖核心功能已有early conversations,但请记住Magento 2.0(计划于2012年)advertises complete test coverage.