在更改时运行 PHPUnit 测试

2022-08-30 22:05:39

每当磁盘上的文件更改时,我想运行我的PHPUnit测试(或至少其中的一个子集)。与“咕噜咕噜的手表”非常相似。我有一个项目,我同时拥有JS和PHP,并且正在使用Grunt。在那里,我向PHPUnit支付费用,让它使用grunt watch在我的JS测试上运行。虽然这工作得很好,但在仅PHP项目中执行此操作似乎非常麻烦。我需要引入 grunt,并添加对 node 的依赖关系。另外,我有很多这样的PHP项目。因此,一个更简单的解决方案是有序的。


答案 1

你可以使用非常甜蜜的node:watch

运行以设置包(需要一分钟),然后npm init

npm install --save-dev watch

然后编辑文件以包含以下两个条目:package.json

"scripts": {
  "test": "bin/phpunit tests --color",
  "test:watch": "watch 'npm run --silent test' ."
},

然后通过以下方式触发观看:

npm run test:watch

(由于这篇有趣的文章)


答案 2

不久前,我写了一篇关于这个问题的博客文章:http://edorian.github.io/2010-03-11-running-your-unit-tests-everytime-you-save-a-file/

最基本的命令是:

pywatch phpunit .

这意味着“监视此目录及以下目录中的所有文件是否有更改,如果其中一个更改运行PHPUnit”。

如果你有很多文件(资产等),可能会变慢,所以更好/更快的版本是:

find -name '*.php' | xargs pywatch "./runSuite.sh"

仅监视对文件的更改.php


推荐