此包已被弃用且不再维护。作者建议使用 ttn/tea 包。

TYPO3 示例扩展,用于单元测试和最佳实践

安装: 32

依赖项: 0

建议者: 0

安全: 0

星级: 24

关注者: 6

分支: 3

类型:typo3-cms-extension

v2.0.0 2018-06-23 17:52 UTC

This package is auto-updated.

Last update: 2019-11-27 14:10:31 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

此 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

运行验收测试

在命令行中

  1. 确保您的机器上已安装 Chrome
  2. composer update codeception/codeception(以防万一)
  3. 下载最新版本的 ChromeDriver
  4. 解压它
  5. chromedriver --url-base=wd/hub
  6. .Build/vendor/bin/codecept run(在另一个终端中)

在 PhpStorm 中

  1. 确保已激活“Codeception 框架”插件
  2. 右键单击 Tests/Acceptance/StarterCest.php
  3. 运行 '验收(Codeception)'

使用自动化测试创建新扩展

对于创建新扩展,我建议以 Helmut Hummel 的扩展骨架 为起点。

关于我(Oliver Klee)

我是PHPUnit TYPO3扩展的维护者,该扩展可在TYPO3扩展仓库(TER)中找到。

您可以在公司预订我的研讨会

我还在TYPO3开发者日上经常举办研讨会。

更多文档

其他示例项目

  • Selenium演示,展示如何使用PHPUnit与Selenium结合使用
  • 字谜查找器是TDD编码练习的最终成果
  • 咖啡示例是我展示使用TYPO3 CMS进行TDD的起点
  • TDD Seed,用于使用Composer启动PHPUnit项目(无需TYPO3 CMS)