假设我在Pharo Smalltalk中创建了一个 MyClass 类...
如果我在工作区中写道:
MyClass new。
并选择 print-it (Ctrl-P),我得到:
MyClass
稍微修改一下 MyClass 的 printOn:方法, 我可以得到更多,例如:
值为的MyClass:5
+++
所以我的问题是......我怎样才能进行测试(TestCase-class的实例) 检查 MyObject 的文本表示 - 我会得到什么 如果我做了#34; MyObject new"和Print-It - 应该是什么?
如何获取文字表示,以便我可以查看 当我在我的测试中执行 self 断言:相等:(或类似的东西)时,应该的字符串常量?
例如,在使用我的cutomized printOn:方法后,它会 看起来像
值为的MyClass:5
很抱歉这样一个新手问题,但是还有......
答案 0 :(得分:7)
要获取对象的文本表示,您可以将消息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'