我想知道如何从测试本身找到在 tcl 中运行的测试的名称?我在 google 上找不到这个。
我正在调用另一个过程并传递调用它的测试的名称作为参数。所以我想知道哪个 tcl 命令可以为我做到这一点。
最佳答案
这不是一个鼓励使用的用例......但如果您直接在测试中使用它,则可以使用info frame 1
来获取信息。
proc example {contextTest} {
puts "Called from $contextTest"
return ok
}
tcltest::test foo-1.1 {testing the foo} {
example [lindex [dict get [info frame 1] cmd] 1]
} ok
这假设您使用的是 Tcl 8.5 或更高版本,但 Tcl 8.5 是当前支持的最旧的 Tcl 版本,因此这是一个合理的限制。
关于tcl - 如何从测试本身获取 TCL 测试的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52995647/