当终端/控制台测试运行实际上以红色或绿色文本显示其输出时,我喜欢它.看起来很多可用于Go的测试库都有这个.但是,我想使用Go附带的默认测试包.有没有办法用红色和绿色为它的输出着色?
Mak*_*poc 56
您可以为此创建包装器shell脚本,并使用颜色转义序列为其着色.这是一个关于Linux的简单示例(我不确定这会在Windows上看起来如何,但我想有一种方法.. :))
go test -v . | sed ''/PASS/s//$(printf "\033[32mPASS\033[0m")/'' | sed ''/FAIL/s//$(printf "\033[31mFAIL\033[0m")/''
Run Code Online (Sandbox Code Playgroud)
Ale*_*ubo 47
您可以使用通用着色剂grc来着色任何颜色.
在Debian/Ubuntu上,安装apt-get install grc.在Mac上用,brew install grc.
在主目录中创建一个config目录:
mkdir ~/.grc
Run Code Online (Sandbox Code Playgroud)
然后在以下位置创建您的个人grc配置~/.grc/grc.conf:
# Go
\bgo.* test\b
conf.gotest
Run Code Online (Sandbox Code Playgroud)
然后在中创建一个Go测试着色配置~/.grc/conf.gotest,例如:
regexp==== RUN .*
colour=blue
-
regexp=--- PASS: .*
colour=green
-
regexp=^PASS$
colour=green
-
regexp=^(ok|\?) .*
colour=magenta
-
regexp=--- FAIL: .*
colour=red
-
regexp=[^\s]+\.go(:\d+)?
colour=cyan
Run Code Online (Sandbox Code Playgroud)
现在您可以运行Go测试:
grc go test -v ./..
Run Code Online (Sandbox Code Playgroud)
样本输出:
为了避免打字grc的时候,添加一个别名到你的shell(如果使用bash,无论是~/.bashrc或~/.bash_profile或两者兼而有之,这取决于您的操作系统):
alias go=grc go
Run Code Online (Sandbox Code Playgroud)
现在只需运行以下命令即可获得颜色:
go test -v ./..
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14568 次 |
| 最近记录: |