我在 Windows 上使用 Git 并尝试在工作流程中包含单元测试。如果提交消息包含关键字。commit-msg钩子将触发 Powershell 命令来运行一些 Nunit 测试。
这是我的红宝石代码
#!/usr/bin/env ruby
message_file = ARGV[0]
message = File.read(message_file)
puts "The commit message is " + message
$regex = /(#runtest)/
if $regex.match(message)
exec 'powershell.exe -ExecutionPolicy RemoteSigned -Command {RunNunitTestCase}'
end
但是,当我提交更改时,结果如下所示。exec 行已运行但什么也不做。
PS D:\testfolder> git commit -am '#runtest'
The commit message is #runtest
[authorupdate b14878d] 123
1 files changed, 1 insertions(+), 0 deletions(-)
我是 ruby 和 powershell 的新手。如果此工作流程可行或您有更好的方法,请随时发表评论。
谢谢你。