在测试中检查课程的文字表达?

问题描述:

可以说,我已经创建了一个类MyClass的在菲罗Smalltalk中......在测试中检查课程的文字表达?

如果我在工作区

MyClass的新。

,并选择打印它(按Ctrl-P),我得到:

一个MyClass的

带着几分与MyClass的了printOn修修补补的:方法, 我可以得到更多,例如:

一个MyClass的值为:5

+++

所以我的问题是...我怎样才能使一个测试(TestCase的类的实例) ,检查该文本 - 代表MyObject - 我会得到 如果我做了“MyObject new”和Print-It - 它应该是什么?

我如何获得的文字表述,所以我可以检查它针对 字符串常量有什么应该是,当我做了断言:平等:在(或类似的东西)我测试?

例如,使用后,我的cutomized 了printOn:方法,它将 看起来像

一个MyClass的值为:5

对不起,这样的新手问题,但有去...

要获得对象的文本表示,您可以将消息printString发送到对象。例如Object new printString会返回字符串'an Object'

要创建一个测试用例,你应该创建一个TestCase子类:

TestCase subclass: #MyClassTestCase 
    instanceVariableNames: '' 
    classVariableNames: '' 
    package: 'MyTest-Package' 

则进行测试与test开头的方法。例如,以下测试验证Object new的字符串表示:

testClassRepresentation 
    self assert: Object new printString equals: 'an Object'