我想获取当前正在tcltest
脚本中执行的test
Tcl
的名称。例如,以下代码应该打印测试的名称:
#!/usr/bin/tclsh
package require tcltest
tcltest::test testFunction {} -body {
puts [lindex [info level 0] 0]
set a 1
} -result 1
但是,它会出现以下错误:
==== testFunction FAILED
==== Contents of test case:
puts [lindex [info level 0] 0]
set a 1
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
---- errorInfo: bad level "0"
while executing
"info level 0"
("uplevel" body line 2)
invoked from within
"uplevel 1 $script"
---- errorCode: TCL LOOKUP STACK_LEVEL 0
==== testFunction FAILED
我一定有一些基本的错误,对此的任何帮助都非常感谢。
答案 0 :(得分:0)
我无法找到任何这样的内省(看起来不是很难)。我确实看过,因为我想记录运行测试并标记从一个测试到另一个测试的过渡。
当然,没有什么可以阻止你知道测试名称。
yesClicked(eventName:any){
if(eventName=='Yes')
{
this.wordDocument.yesclicked();
}
else if(eventName =='No')
{
this.wordDocument.Noclicked();
}
}
或
yesclicked()
{
Word.run(function (context) {
var body = context.document.body;
body.insertParagraph('Content of a new paragraph',
Word.InsertLocation.end);
return context.sync().then(function () {
console.log('Paragraph added at the end of the document body.');
});
})
.catch(function (error) {
console.log('Error: ' + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log('Debug info: ' + JSON.stringify(error.debugInfo));
}
});
}
(这是即兴的代码,不是我实际使用的代码,但它经过一次测试,至少可以运行。)
文档:
create (method of oo::class
),
incr,
method (object configuration subcommand),
namespace,
oo::objdefine,
oo::object,
package,
proc,
puts,
return,
set,
tcltest (package),
variable (object slot subcommand),
variable
答案 1 :(得分:0)
我知道这个问题发布已经有一段时间了。
因为/如果仅在报告中需要输出而不在TCL环境中将其作为变量使用,也许用'-verbose start'配置tcltest也可以吗? ()
示例:
% package require tcltest
2.4.1
% ::tcltest::verbose start
start
% ::tcltest::test the_test {} -body { return 1 } -result 1
---- the_test start
% ::tcltest::verbose "start pass"
start pass
% ::tcltest::test the_test {} -body { return 1 } -result 1
---- the_test start
++++ the_test PASSED