oliverklee / tea
v2.0.0
2018-06-23 17:52 UTC
Requires
- php: ~7.0.0 || ~7.1.0 || ~7.2.0
- typo3/cms-core: ^7.6.23 || ^8.7.10
- typo3/cms-fluid: ^7.6.23 || ^8.7.10
- typo3/cms-frontend: ^7.6.23 || ^8.7.10
Requires (Dev)
- codeception/codeception: ^2.4
- helhum/typo3-composer-setup: ^0.5.1
- helmich/typo3-typoscript-lint: ^1.4.4
- nimut/testing-framework: ^3.0
- roave/security-advisories: dev-master
- typo3/cms-fluid-styled-content: ^7.6.23 || ^8.7.10
Conflicts
- typo3/cms-composer-installers: <1.4.6
Replaces
- tea: v2.0.0
- typo3-ter/tea: v2.0.0
README
此 TYPO3 扩展是使用 PHPUnit 编写 TYPO3 CMS 基于 Extbase/Fluid 扩展的单元测试和功能测试的示例。
它也是 extbase/fluid 最佳实践 的示例。
有关执行测试的不同方式的详细信息,请参阅 关于测试驱动开发(TDD)的研讨会讲义。
从命令行运行单元测试
.Build/bin/phpunit -c .Build/vendor/nimut/testing-framework/res/Configuration/UnitTests.xml Tests/Unit/
在 PhpStorm 中运行测试
PHPUnit 通用设置
composer require typo3/cms ^9.5 composer install git checkout HEAD -- composer.json
文件 > 设置 > 语言和框架 > PHP > 测试框架
- (*) 使用 Composer 自动加载器
- 脚本路径:在您的项目文件夹中选择
.Build/vendor/autoload.php
在运行配置中,编辑 PHPUnit 配置并使用以下设置,以便此配置可以作为模板使用
- 目录:使用您项目中的
Tests/Unit
目录 - 使用替代配置文件
- 在您的项目文件夹中使用
.Build/vendor/nimut/testing-framework/res/Configuration/UnitTests.xml
- 添加以下环境变量
- typo3DatabaseUsername
- typo3DatabasePassword
- typo3DatabaseHost
- typo3DatabaseName
单元测试配置
在运行配置中,复制 PHPUnit 配置并使用以下设置
- 目录:使用您项目中的
Tests/Unit
目录
功能测试配置
在运行配置中,复制 PHPUnit 配置并使用以下设置
- 目录:使用您项目中的
Tests/Functional
目录 - 使用替代配置文件
- 使用
.Build/vendor/nimut/testing-framework/res/Configuration/FunctionalTests.xml
运行验收测试
在命令行中
- 确保您的机器上已安装 Chrome
composer update codeception/codeception
(以防万一)- 下载最新版本的 ChromeDriver
- 解压它
chromedriver --url-base=wd/hub
.Build/vendor/bin/codecept run
(在另一个终端中)
在 PhpStorm 中
- 确保已激活“Codeception 框架”插件
- 右键单击
Tests/Acceptance/StarterCest.php
- 运行 '验收(Codeception)'
使用自动化测试创建新扩展
对于创建新扩展,我建议以 Helmut Hummel 的扩展骨架 为起点。
关于我(Oliver Klee)
我是PHPUnit TYPO3扩展的维护者,该扩展可在TYPO3扩展仓库(TER)中找到。
您可以在公司预订我的研讨会。
我还在TYPO3开发者日上经常举办研讨会。
更多文档
其他示例项目
- Selenium演示,展示如何使用PHPUnit与Selenium结合使用
- 字谜查找器是TDD编码练习的最终成果
- 咖啡示例是我展示使用TYPO3 CMS进行TDD的起点
- TDD Seed,用于使用Composer启动PHPUnit项目(无需TYPO3 CMS)