gpt4 book ai didi

c++ - 关于tcl测试的问题

转载 作者:太空宇宙 更新时间:2023-11-04 02:16:45 29 4
gpt4 key购买 nike

我有一个关于 Tcl 的问题,我们正在使用 Tcl 为 c 和 c++ 应用程序编写一些测试用例。我看到一些Tcl测试用例是:

if {0} { #START:HELLO1
//some code here
}#END:HELLO1

if {0} { #START:HELLO2
//some code here
}#END:HELLO2

if {0} { #START:HELLO3
//some code here
}#END:HELLO3

这些代码是如何工作的? #START: 和#END: 是什么意思?以及为什么他们有索引,例如:

HELLO1 HELLO2 HELLO3

谁能帮我解决这个问题?

最佳答案

按照 Tcl 术语,这些测试看起来很奇怪。如果他们会这样读(带有额外的分号):

if {0} { #START:HELLO1
//some code here
};#END:HELLO1

然后它们将被屏蔽掉什么都不做的代码(字面意思;Tcl 不会尝试为其生成代码,就像 C 或 C++ 编译器不太可能为 if(0){ ...}) 但是你得到的版本只是一个语法错误。大括号后面不应跟空格以外的任何内容(除非是特殊的 {*} 语法,它会扩展替换)。

也就是说,我希望测试代码看起来更像这样:

doATest "the test name" {
// Whatever makes the body of the test, in whatever language
}

doATest 可能会忽略基于某些逻辑的测试,但整个脚本将被遗忘。 (Tcl 自己的内置测试工具 — tcltest 包 — 遵循这种模式,带有一些额外的参数,用于控制诸如运行测试的条件和预期结果之类的事情。)

关于c++ - 关于tcl测试的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685070/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com