php - Magento - 单元测试

标签 php unit-testing magento

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

单元测试作为执行此操作的一种方法跳出,但我认为编写大量测试以检查站点中的所有内容是否正常工作将是一项非常艰巨的工作。

任何参与单元测试和 magento 的人都可以就以下问题提出建议吗:

  1. 是否可以测试整个站点而不仅仅是自定义模块 - 所以一些测试示例会很棒。
  2. 鉴于该站点与数据库的链接很紧密 - 它会如何 可以在不干扰数据库的情况下全面测试网站
  3. 有没有更好的方法来自动检查一个文件的完整性 magento 网站

当我说完整性时,我的意思是网站上没有任何错误 - 运输、付款等都正常工作。

最佳答案

这是一项艰巨的任务,但是已经有 Magento 社区成员解决了它。

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

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

您可以尝试使用 phpMyAdmin 将数据导出到 YAML 中,以准备创建固定装置。

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

已经有early conversations关于创建单元测试存储库以涵盖核心功能,但请记住 Magento 2.0(计划于 2012 年)advertises complete test coverage .

关于php - Magento - 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7375350/

相关文章:

php - 安装 MongoDB PHP 驱动程序(64 位 linux)

php - 覆盖 Magento Action

magento - 无法打开 Varnish 日志(不是 VSL block )

unit-testing - 使 os.Stat 抛出错误,使得 IsNotExist 返回 false

unit-testing - 如何参数化 TestFixtureSetUp (NUnit)

magento - 如何在magento中删除std div

php - url 编码的正斜杠破坏了我的 codeigniter 应用程序

php - 一场比赛的足球模拟

php - 可以集成到设计中的电子商务软件?

ruby-on-rails - 使用子存在验证创建父子 Factory Girl