在测试中检查课程的文字表达?
问题描述:
可以说,我已经创建了一个类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'