dpi / enhanced-drupal-phpunit-results
Requires
- php: ^8
Requires (Dev)
- behat/mink: ^1.10
- dpi/drupal-phpunit-bootstrap: ^9.4
- drupal/core: >=10@alpha
- friendsofphp/php-cs-fixer: ^3.8
- mikey179/vfsstream: ^1.6.10
- phpstan/phpstan: ^1.7
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-strict-rules: ^1.2
- phpunit/phpunit: ^9.5.20
This package is auto-updated.
Last update: 2024-09-20 02:03:28 UTC
README
提供工具来改进Drupal PHPUnit测试的输出。
之后
之前
突出显示
- 命令+点击/控制+点击URL以在网页浏览器中打开工件。
- 命令+点击/控制+点击文件+行以在IDE(PHPStorm / VSCode / MacVim / Emacs / Sublime Text / Textmate)中打开。
- 显示获取的URL。
drupalGet
/drupalLogin
/drupalLogout
/htmlOutput
/submitForm
页面加载被检测到:- 显示图标表示工件是否与页面加载相关联:📄
drupalGet
🛂drupalLogin
🥾drupalLogout
⚡️htmlOutput
🖍submitForm
- 测试方法根据测试通过/失败而呈绿色或红色。
- 在测试方法和页面加载点之间显示执行堆栈。
- 对于从测试直接调用页面加载的情况,显示简短的堆栈。
该项目旨在与功能测试一起使用,特别是使用Drupal Test Traits的项目。建议使用phpunit --printer
或创建新的phpunit.xml
来分离内核和单元测试。
测试需要使用包含的特质。默认情况下,此增强功能不能用于您无法控制的测试,除非修补基本测试类,如\Drupal\Tests\BrowserTestBase
。
Drupal是Dries Buytaert的注册商标。
安装和设置
composer require dpi/enhanced-drupal-phpunit-results
在PHPUnit配置文件(如phpunit.xml
、phpunit.xml.dist
等)中,将printerClass修改为引用此库中的类。
<phpunit printerClass="\dpi\EnhancedDrupalPhpunitResults\EnhancedResultPrinter" />
在基本测试文件中,将use \Drupal\Tests\UiHelperTrait
替换为use \dpi\EnhancedDrupalPhpunitResults\CombinedEnhancedUiHelperTrait
。
或者如果有冲突,
use EnhancedUiHelperTrait { EnhancedUiHelperTrait::htmlOutput insteadof UiHelperTrait; }
配置
有可选配置可用。
在执行器或phpunit.ini文件中将这些值设置为环境变量。
IDE启动链接
将触发文件路径的控制/命令+点击以在选择的编辑器中打开。
可能的值
emacs
macvim
phpstorm
sublime
textmate
vscode
export ENHANCED_RESULTS_IDE=phpstorm
<php> <env name="ENHANCED_RESULTS_IDE" value="phpstorm" /> </php>
重复上下文
将在堆栈顶部重复执行测试。通常,执行测试只会在开始时打印一次。此选项将在堆栈顶部的每个drupalGet上下文中打印测试。这对于具有许多drupalGet的测试非常有用。
export ENHANCED_RESULTS_USE_REPEAT_CONTEXT=TRUE
<php> <env name="ENHANCED_RESULTS_USE_REPEAT_CONTEXT" value="TRUE" /> </php>
禁用裁剪列到终端宽度
禁用裁剪文件和URL文本字符串到终端宽度。字符串将显示为未截断。
export ENHANCED_RESULTS_DISABLE_TRIM_COLUMNS=TRUE
<php> <env name="ENHANCED_RESULTS_DISABLE_TRIM_COLUMNS" value="TRUE" /> </php>
禁用堆栈
如果堆栈嘈杂,则禁用长堆栈
export ENHANCED_RESULTS_DISABLE_OUTPUT_STACK=TRUE
<php> <env name="ENHANCED_RESULTS_DISABLE_OUTPUT_STACK" value="TRUE" /> </php>
使用顺序ID而不是工件号
在当前测试运行中,为每个drupalGet显示数字,从1开始。而不是工件号。
export ENHANCED_RESULTS_USE_SEQUENTIAL_IDS=TRUE
<php> <env name="ENHANCED_RESULTS_USE_SEQUENTIAL_IDS" value="TRUE" /> </php>
更改文件前缀
更改文件前缀,以便可点击的文件可以正常工作,当与Docker挂载或符号链接一起使用时很有用。
export ENHANCED_RESULTS_FILE_PREFIX=/home/user/www
<php> <env name="ENHANCED_RESULTS_FILE_PREFIX" value="/home/user/www" /> </php>
其他注意事项
- 如果宿主操作系统通过不同的URL访问工件,请使用Drupal内置的
BROWSERTEST_OUTPUT_BASE_URL
。这有助于解决错误的可点击工件URL问题。