我有几百个使用不同标签的人创建的behat测试。我想清理它,首先我要列出到目前为止使用过的所有标签。
答案 0 :(得分:3)
我想回答我自己的问题,因为这是我在其他地方找不到的答案。
我最初尝试使用自定义格式化程序,但这不起作用。 https://gist.github.com/paulmozo/fb23d8fb436700381a06
最终我制作了一个Bash命令以满足我的目的
waitfor time '22:00';
declare @timer datetime
declare @time float
declare @query nvarchar(max)
set @query = N'select ...'
set @timer = getdate()
exec sp_executesql @query
set @time = datediff(ss,@timer,getdate())
这将运行带有bin/behat --dry-run 2>&1 | tr ' ' '\n' | grep -w @.* | sort -u
的behat命令,该命令不执行测试,只输出步骤以便将它们传输到另一个工具。 --dry-run
将标准错误重定向为null(这取决于shell)。 2>&1
工具将流中的每个单词分成一个单独的行。 grep搜索以@符号开头的行。最后tr
对列表进行排序并返回唯一身份。
此命令运行大约需要15秒,并且完美地完成了我的工作。