n98/magerun2-test-framework
Composer 安装命令:
composer require n98/magerun2-test-framework
包简介
Test-Framework for n98-magerun2 commands
README 文档
README
This package contains some PHPUnit test cases.
Prerequisite
The test runner requires a vanilla Magento 2 installation. To run test suite it's necessary to set the environment variable N98_MAGERUN2_TEST_MAGENTO_ROOT with the root path to the installation.
All unit tests run against this installation. Please don't use any production environment!
Test Module Commands
Example Test Case:
<?php namespace Acme\Example\Command; use N98\Magento\Command\PHPUnit\TestCase; use Symfony\Component\Console\Tester\CommandTester; class FooCommandTest extends TestCase { /** * @test */ public function testOutput() { /** * Load module config for unit test. In this case the relative * path from current test case. */ $this->loadConfigFile(__DIR__ . '/../../n98-magerun2.yaml'); /** * Test if command could be found */ $command = $this->getApplication()->find('foo'); /** * Call command */ $commandTester = new CommandTester($command); $commandTester->execute( [ ] ); } }
Test dev:console Commands
Code-Generating Command
Create a reference file which contains the content of the code generator. In the following test case the file is place in "DIR /_files/ExampleSomething.php".
The method mockWriterFileWriteFileAssertion of the TestCase class mocks the module writer and compares the output against the reference file.
<?php namespace Acme\Example\Command\CodeGenerator; use N98\Magento\Command\Developer\Console\PHPUnit\TestCase; class MakeSomethingCommandTest extends TestCase { /** * @test */ public function testGenerator() { $command = new MakeSomethingCommand(); $commandTester = $this->createCommandTester($command); $command->setCurrentModuleName('Acme_Example'); $writerMock = $this->mockWriterFileWriteFileAssertion( __DIR__ . '/_files/ExampleSomething.php' ); $command->setCurrentModuleDirectoryWriter($writerMock); $commandTester->execute([ /* pass your parameters */ ]); } }
Run PHPUnit Tests
N98_MAGERUN2_TEST_MAGENTO_ROOT=/path/to/magento/root ./vendor/bin/phpunit
Example PHPUnit Configuration
Example module structure:
.
├── README.md
├── composer.json
├── n98-magerun2.yaml
├── phpunit.xml.dist
├── src
│ └── Command
│ └── ExampleCommand.php
└── tests
└── Command
└── ExampleCommandTest.php
phpunit.xml.dist
<?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="vendor/autoload.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"> <coverage includeUncoveredFiles="true"> <include> <directory>src</directory> </include> </coverage> <testsuites> <testsuite name="n98-magerun2 Project Transfer Tools Commands"> <directory>tests</directory> </testsuite> </testsuites> </phpunit>
composer.json
{
"name": "acme/example",
"description": "Some commands",
"require-dev": {
"n98/magerun2": "^4",
"n98/magerun2-test-framework": "^2",
"phpunit/phpunit": "^9"
},
"autoload-dev": {
"psr-4": {
"Acme\\Example\\": "tests"
}
},
"autoload": {
"psr-4": {
"Acme\\Example\\": "src"
}
}
}
n98/magerun2-test-framework 适用场景与选型建议
n98/magerun2-test-framework 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.78k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 10 月 02 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「phpunit」 「magento」 「magerun2」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 n98/magerun2-test-framework 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 n98/magerun2-test-framework 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 n98/magerun2-test-framework 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
n98-magerun2 Phar distribution
Tools for managing Magento projects and installations
HiDev plugin for PHPUnit
Testing Suite For Lumen like Laravel does.
A cli tool which generates unit tests.
PHPUnit DbUnit Native Array-based Fixtures
统计信息
- 总下载量: 3.78k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 12
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-10-02