我想在Pharo中测试SUnit测试。改变测试运行方式的正确方法是什么?
我想在测试中引入超时,我运行的每个测试都应该在给定的延迟后中止。
SUnit在模型中没有专用的TestRunner
,可以让我轻松地引入更改。我可以创建TestResult
的新子类并在那里使用API(runCase:
,addError:
...)来获得足够的控制。但是,更改结果类以修改测试运行方式的行为会感到奇怪。
我已经习惯了SMark,我有一位专门的跑步者来修改这些东西。
答案 0 :(得分:7)
(免责声明:我不知道SUnit Pharo使用的是什么版本,因此具体的API可能会有所不同。不过,我希望这有点帮助。)
子类化TestResult
是可行的方法,即使它听起来有点奇怪。
自定义新“SUnit”实例的一般想法是:
TestResult
中进行(即#runCase: aTestCase debugged: aBoolean
)TestCase
(即#performTest
)我个人希望尽可能简单地保持SUnit,在这里我认为没有理由引入新课程。为什么?查看JUnit中的最新更改。 :-)我同意SUnit值得更多文档。
有关如何实现超时,跳过等的示例,请查看TestReport in Smalltalk/X。