lonnylot / dusk-watcher
当源代码更改时自动重新运行 Laravel Dusk 测试
Requires
- php: ^7.0
- clue/stdio-react: ^1.0
- jolicode/jolinotif: ^2.0
- symfony/console: ^3.0|^4.0
- symfony/process: ^3.0|^4.0
- symfony/yaml: ^3.0|^4.0
- yosymfony/resource-watcher: ^1.2
Requires (Dev)
- phpunit/phpunit: ^6.0|^7.0
README
如果每次更改代码时都自动重新运行 PHPUnit 测试,岂不是很好?这个包可以做到这一点。
安装此包后,您可以这样做
phpunit-watcher watch
以下是它的样子
这将运行测试,并在 app
、src
或 tests
目录中的任何文件被修改时重新运行。
想要传递一些参数给 PHPUnit?没问题,只需附加即可
phpunit-watcher watch --filter=it_can_run_a_single_test
在 2017 年 Laracon EU 的出色演讲中,Amo Chohan 展示了我们的 phpunit-watcher。
安装
您可以通过以下方式全局安装此包
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
这将运行测试,并在 src
或 tests
目录中的任何文件被修改时重新运行。
想要传递一些参数给 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)。有关更多信息,请参阅许可证文件。