Magento - 单元测试

Dav*_*vid 7 php unit-testing magento

我最近在Magento网站遇到了一些问题,我正在寻找一种在任何给定点检查Magento网站完整性的方法.

单元测试跳出来作为这样做的一种方法,但我认为编写大量测试以检查站点中的所有内容是否正常工作将是一项非常大的工作.

任何参与单元测试和magento的人都可以提供以下建议:

  1. 是否有可能测试整个站点而不仅仅是自定义模块 - 因此测试的一些例子会很棒.
  2. 鉴于该站点与数据库密切相关 - 如何在不干扰数据库的情况下完全测试站点
  3. 有没有更好的方法来自动检查magento站点的完整性

当我说诚信时,我的意思是网站上没有任何故障 - 运费,付款等都正常工作.

Jon*_*Day 15

这是一项艰巨的任务,但有Magento社区成员已经解决了这个问题.

EcomDev_PHPUnit模块提供了单元测试Magento的框架,但它不包含任何实际测试.它可以(并且已经)用于测试您自己开发的核心功能或模块.

EcomDev模块的一个主要优点是它确实提供了100%的数据库隔离.它创建数据库结构的精确副本,然后使用fixture(请参见手册第6页)将数据插入到这些表中以创建测试先决条件.这是强大的最佳实践,但确实需要相当多的设置.

您可以尝试使用phpMyAdmin将数据导出到YAML中,以便创建灯具.

另一种方法是为浏览器UI创建和自动化全面的Selenium测试套件.事实上,最佳的解决方案是制备两个单元和UI测试一样会有只能在一个功能域进行测试的领域.Magento的Javascript(例如所有validation.js)内置了大量的业务逻辑,PHPUnit无法轻松测试,Selenium是您的最佳选择.

已经有早期的谈话有关创建单元测试,以覆盖核心功能的存储库,但请记住,Magento的2.0(计划于2012年)发布完整的测试覆盖率.

  • "Magento 2.0(计划于2012年开始)"< - 这很有趣:) (7认同)