TGUITestRunner表单表示DUnit测试结果,并由GUITestRunner.RunTest程序创建一次:
procedure RunTest(test: ITest);
begin
with TGUITestRunner.Create(nil) do
begin
try
Suite := test;
ShowModal;
finally
Free;
end;
end;
end;我想在运行时通过编写彩色状态消息来扩展它。这是可能,因为图形用户界面底部的状态消息被放置到TRichEdit中。所以我需要在我的TTestCase中的某个地方获得指向这个表单的指针。
我可以在不修复DUnit代码的情况下做到这一点吗?也许你可以推荐一些技巧?
发布于 2012-03-12 21:31:56
一种“解耦”的方法可能是在状态消息中使用一些“嵌入式代码”:
Status('<blue>Testing');在dUnit测试框架中,您可以检查状态消息的初始字符是否为'<',并提取参数,如颜色或其他任何内容,然后修改dUnit以处理它。
这样,您的测试仍将在未经修改的dUnit测试运行器上运行。几年后,您可能希望迁移到最新的dUnit测试,我不建议对其进行任何更改,或尝试访问测试运行器对象。您可以从测试中看到的API和内容都是经过严格控制的。这是一个正确的面向对象设计原则,jUnit/xUnit/dUnit的创建者深信不疑。
https://stackoverflow.com/questions/9667130
复制相似问题