【发布时间】:2021-04-18 12:50:06
【问题描述】:
使用 expect 编写 CLI 单元测试,并希望抽象出以下 default 块,因为它适用于所有预期块。
default {
test_failed
}
例子:
#!/usr/bin/expect
source ./test.exp
set passphrase "asdasd"
set secret "foo\nbar"
test_label "Should backup secret using Shamir Secret Sharing"
spawn qr-backup.sh --shamir-secret-sharing
expect {
default {
test_failed
}
-re {Format USB flash drive \(y or n\)\?} {
sleep 0.1
send "n\r"
}
}
expect {
default {
test_failed
}
-re {\[sudo\] password for pi:} {
sleep 0.1
send "$env(password)\r"
}
}
【问题讨论】:
-
听起来您正在寻找
expect_before(或expect_after)命令。 -
谢谢@SchelteBron。正是我想要的。 ??????