Baa*_*rud 3 smalltalk squeak pharo
让我说我在Pharo Smalltalk中创建了一个MyClass类......
如果我在Workspace中写道:
MyClass新.
并选择print-it(Ctrl-P),我得到:
一个MyClass
通过对MyClass的printOn:方法进行一些修改,我可以获得更多,例如:
一个值为5的MyClass
+++
所以我的问题是......我怎么能做一个测试(TestCase类的实例)来检查MyObject的文本表示- 如果我做了"MyObject new"和Print-It,我会得到的是它的假设成为?
我如何得到文本表示,以便我可以根据它应该是什么来检查字符串常量,当我在我的测试中执行自我 断言:相等:(或类似的东西)时?
例如,使用我的cutomized printOn:方法后,它看起来像
一个值为5的MyClass
对不起这样一个新手问题,但有...
小智 7
要获取对象的文本表示,您可以将消息发送printString到对象.例如,Object new printString将返回字符串'an Object'.
要创建测试用例,您应该创建一个子类TestCase:
TestCase subclass: #MyClassTestCase
instanceVariableNames: ''
classVariableNames: ''
package: 'MyTest-Package'
Run Code Online (Sandbox Code Playgroud)
然后测试是一种开始的方法test.例如,以下测试验证字符串表示Object new:
testClassRepresentation
self assert: Object new printString equals: 'an Object'
Run Code Online (Sandbox Code Playgroud)