Smalltalk 在测试中检查类的文本表示?
假设我在Pharo Smalltalk中创建了一个类MyClass 如果我在工作区中写: 我的班级是新的 然后选择打印(Ctrl-p),我得到: 我的班级 稍微修改一下MyClass的printOn:方法, 我可以得到更多,例如: 值为5的MyClass +++ 所以我的问题来了。。。如何进行测试(TestCase类的实例) 这检查了MyObject的文本表示形式--我会得到什么 如果我做了“MyObject new”并将其打印出来-它应该是什么 如何获得文本表示,以便根据 当我在测试中执行selfassert:equal:(或类似操作)时,字符串常量应该是什么 例如,在使用我的cutomizedprintOn:方法之后,它将 看起来像 值为5的MyClassSmalltalk 在测试中检查类的文本表示?,smalltalk,pharo,squeak,Smalltalk,Pharo,Squeak,假设我在Pharo Smalltalk中创建了一个类MyClass 如果我在工作区中写: 我的班级是新的 然后选择打印(Ctrl-p),我得到: 我的班级 稍微修改一下MyClass的printOn:方法, 我可以得到更多,例如: 值为5的MyClass +++ 所以我的问题来了。。。如何进行测试(TestCase类的实例) 这检查了MyObject的文本表示形式--我会得到什么 如果我做了“MyObject new”并将其打印出来-它应该是什么 如何获得文本表示,以便根据 当我在测试中执行se
对于这样一个新手问题,很抱歉,但是有…要获取对象的文本表示,您可以向该对象发送消息
printString
。例如,Object new printString
将返回字符串“一个对象”
要创建测试用例,您应该创建TestCase
的子类:
TestCase subclass: #MyClassTestCase
instanceVariableNames: ''
classVariableNames: ''
package: 'MyTest-Package'
然后,测试是一种以test
开始的方法。例如,以下测试验证对象new
的字符串表示形式:
testClassRepresentation
self assert: Object new printString equals: 'an Object'