我的pharo代码有问题。我想通过源代码生成一个测试类,并且这个类在浏览器系统的包中是可见的。但我不知道为什么它没有出现在包裹中。以下是我写的一些代码:
buildTestClassDefinitionFrom: aClass
^ 'TestCase subclass: ', (self buildTestClassNameFrom: aClass) printString, '
instanceVariableNames: ''''
classVariableNames: ''''
poolDictionaries: ''''
package: ''',(self buildTestPackageNameFrom:aClass),''''
和
buildTestPackageNameFrom:aClass
^ aClass package name asString, '-Tests'
和
buildTestClassNameFrom: aClass
^ (aClass name asString,'Test') asSymbol
因此,如果我举一个例子,通过将Car作为一个类发送,我希望看到CarTest出现在系统浏览器的包中。
看起来您返回的是String的实例,而不是新的class。也就是说,您返回了可以生成类的代码,但没有执行代码。请尝试删除大部分引号,以便实际向TestCase发送subclass:
消息。
尝试以下操作:
testClassFor: aClass
^ TestCase subclass: (self buildTestClassNameFrom: aClass)
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
package: (self buildTestPackageNameFrom: aClass)