#FEATURE
class: MetricsReporter
added:5 methods
removed:
#reportXml_metricValues:
#reportXml_metricsForClass:
#reportXml_metricsForMethod:
#reportXml_metricsForPackage:
comment/format in:
#documentation
#examples
#format_metrics
#reportPackages:format:on:
changed:
#reportXml_metrics
#supportedFormats
category of:
#generateClassMetricsFor:
#generateMethodMetricsFor:
#generatePackageMetricsFor:
#reportXml_metrics
"{ Package: 'stx:goodies/sunit' }"
"{ NameSpace: Smalltalk }"
TestCase subclass:#TestCaseWithArguments
instanceVariableNames:'testArguments'
classVariableNames:''
poolDictionaries:''
category:'SUnit-Base'
!
!TestCaseWithArguments class methodsFor:'documentation'!
documentation
"
allows for an argument to be passed to the testCase-method.
To do so, redefine buildAdditionalTestsInSuite:suite,
to add more tests by sending
addTest:(self testSelector: testArguments )
Useful for example, if you want to evaluate a suite's-test method on each file in some directory,
but still want to see the results as individual runs (to allow for a rerun-defects)
[author:]
cg@exept.de
"
! !
!TestCaseWithArguments class methodsFor:'instance creation'!
selector: aSymbol argument: arg
^self new
setTestSelector: aSymbol
setTestArguments: (Array with:arg)
!
selector: aSymbol arguments: args
^self new
setTestSelector: aSymbol
setTestArguments: args
! !
!TestCaseWithArguments class methodsFor:'building suites'!
buildAdditionalTestsInSuite:suite
self subclassResponsibility
!
buildSuite
|suite|
suite := super buildSuite.
self buildAdditionalTestsInSuite:suite.
^ suite
! !
!TestCaseWithArguments class methodsFor:'queries'!
isAbstract
"Override to true if a TestCase subclass is Abstract and should not have
TestCase instances built from it"
^ self == TestCaseWithArguments
! !
!TestCaseWithArguments methodsFor:'printing'!
getTestName
testArguments isEmptyOrNil ifTrue:[^testSelector].
^testSelector , '(' , testArguments first printString , ')'.
!
printOn: aStream
aStream nextPutAll: self name.
aStream nextPutAll: '>>'.
testSelector printOn: aStream.
testSelector numArgs > 0 ifTrue:[
aStream nextPutAll: ' ('.
testArguments printOn: aStream.
aStream nextPutAll: ')'.
].
! !
!TestCaseWithArguments methodsFor:'private'!
performTest
self perform:(testSelector asSymbol) withArguments:(testArguments)
!
setTestSelector:aSymbol setTestArguments: args
testSelector := aSymbol.
testArguments := args
! !
!TestCaseWithArguments class methodsFor:'documentation'!
version
^ '$Header$'
!
version_CVS
^ '$Header$'
!
version_SVN
^ '$Id$'
! !