lonnylot/dusk-watcher

当源代码更改时自动重新运行 Laravel Dusk 测试

10.0.1 2018-06-07 18:08 UTC

README

Latest Version on Packagist Build Status SensioLabsInsight Quality Score StyleCI Total Downloads

如果每次更改代码时都自动重新运行 PHPUnit 测试,岂不是很好?这个包可以做到这一点。

安装此包后,您可以这样做

phpunit-watcher watch

以下是它的样子

watcher screenshot

这将运行测试,并在 appsrctests 目录中的任何文件被修改时重新运行。

想要传递一些参数给 PHPUnit?没问题,只需附加即可

phpunit-watcher watch --filter=it_can_run_a_single_test

在 2017 年 Laracon EU 的出色演讲中,Amo Chohan 展示了我们的 phpunit-watcher。

Amo Chohan demo

安装

您可以通过以下方式全局安装此包

composer global require spatie/phpunit-watcher

之后,您可以在系统上的任何目录中运行 phpunit-watcher watch

或者,您可以将包作为开发依赖项在本项目中本地安装

composer require spatie/phpunit-watcher --dev

本地安装后,您可以使用 vendor/bin/phpunit-watcher watch 来运行它

用法

所有示例都假设您已全局安装了包。如果您选择了本地安装,请将 vendor/bin/ 预先添加到 phpunit-watcher 提及的所有位置。

您可以使用以下命令启动监视器

phpunit-watcher watch

这将运行测试,并在 srctests 目录中的任何文件被修改时重新运行。

想要传递一些参数给 PHPUnit?没问题,只需附加即可

phpunit-watcher watch --filter=it_can_run_a_single_test

自定义

可以修改工具行为的一些方面。所有选项都可以在项目目录中的 .phpunit-watcher.yml 中设置。

如果项目目录中没有此类配置文件,工具将检查项目目录的父目录中是否存在该文件。

以下是一些示例内容。请继续阅读以获取所有选项的详细说明。

watch:
  directories:
    - src
    - tests
  fileMask: '*.php'
notifications:
  passingTests: false
  failingTests: false
phpunit:
  arguments: '--stop-on-failure'

自定义监视的目录和文件

您可以通过在项目目录中创建一个名为 .phpunit-watcher.yml 的文件来自定义要监视的目录。以下是一些示例内容

watch:
  directories:
    - src
    - tests
  fileMask: '*.php'

桌面通知

默认情况下,工具将在测试通过或失败时显示桌面通知。如果您想禁用某些桌面通知,请通过添加 notifications 键更新 .phpunit-watcher.yml

notifications:
  passingTests: false
  failingTests: false

初始 PHPUnit 参数

如果您想在监视器每次启动时传递相同的参数给 PHPUnit,您可以在 .phpunit-watcher.yml 配置文件中指定这些参数。以下是一个示例

phpunit:
  arguments: '--stop-on-failure'

当使用某些参数启动工具时(例如 phpunit-watcher watch --filter=my_favourite_test),这些参数将替换配置文件中指定的参数。

变更日志

请参阅 CHANGELOG 了解最近更改的信息。

测试

composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何与安全相关的问题,请通过电子邮件 freek@spatie.be 而不是使用问题跟踪器。

明信片软件

您可以使用此包(它是 MIT-licensed),但如果您经常使用它,我们非常欢迎您从您的家乡给我们寄来一张明信片,说明您正在使用我们的哪些包。

我们的地址是:Spatie,Samberstraat 69D,2060 安特卫普,比利时。

我们将在公司网站上发布所有收到的明信片。请点击此处查看

鸣谢

在阅读了Christopher Pitt撰写的这篇优秀文章后,我们开始创建这个包

交互式命令受到了Jest的启发。

支持我们

Spatie是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述这里

您的业务依赖于我们的贡献吗?请在Patreon上联系我们并支持我们。所有承诺都将用于分配人力进行维护和新功能开发。

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件