magetest/manager

Magento 测试环境模型管理器

v0.9.0 2014-08-04 14:55 UTC

This package is not auto-updated.

Last update: 2024-09-24 07:12:02 UTC


README

Build Status Scrutinizer Code Quality

Manager 是一个用于管理 Magento 网站测试模型库的 PHP 库。

模型

Manager 以 YAML 文件作为输入来创建 Magento 测试环境的模型。

YAML 文件通过集合的键映射到 Magento 模型。集合随后映射到定义的 Magento 模型的模型属性。

在 YAML 文件中定义模型如下所示

customer/customer:
    firstname: test
    lastname: test
    email: customer@example.com
    password: 123123pass
    website_id: 1
    store: 1
    status: 1

最重要的一部分是集合中的键。这是提供给 Mage::getModel() 的参数。在定义测试模型后,现在我们需要将其加载到 Manager 中。

<?php
use MageTest\Manager\FixtureManager,
    MageTest\Manager\Attributes\Provider\YamlProvider;

//init Manager and define attributes provider. Default is YAML
$manager = new FixtureManager(new YamlProvider());

//Load fixture by model type into manager
$manager->loadFixture('customer/customer');

//Use key defined in fixture file, to return instance of fixture model
$customer = $manager->getFixture('customer/customer');

//Use customer model, change values/behaviour, assert data for acceptance tests

//Delete all fixtures from Magento test environment DB
$manager->clear();

使用方法

此库可以与 Behat(或任何其他选择的接受/功能性测试工具)结合使用。流程可能如下所示

  • 在场景之前实例化 Manager
  • 在功能测试之前,加载所需的模型
  • 在场景之后,调用 clear() 清理模型。

目标是保持步骤定义简洁,并抽象出设置测试数据所需的数据库交互(想想 Mink 作为网络浏览器模拟抽象器的作用)。

路线图

  • 默认模型构建器。
  • 添加对可配置产品、捆绑产品的支持。
  • 处理同一模型的多实例。
  • JSON、XML 属性提供者。

贡献者

作者:https://github.com/MageTest/Manager/contributors