magetest / manager
Magento 测试环境模型管理器
v0.9.0
2014-08-04 14:55 UTC
Requires
- php: >=5.3
- symfony/yaml: ~2.0
Requires (Dev)
- behat/mink: ~1.5.0
- behat/mink-goutte-driver: ~1.0.9
- magetest/magento: ~1.8.1.0
- phpspec/phpspec: ~2.0.1
- phpunit/phpunit: ~4.0.20
This package is not auto-updated.
Last update: 2024-09-24 07:12:02 UTC
README
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 属性提供者。