#chr(60)#cfcomponentcfinterface name="#arguments.cfcData.type#" hint="#arguments.cfcData.hint#" extends="#createFullPathListOfTypes(arguments.cfcData.extends)#" implements="#createFullPathListOfTypes(arguments.cfcData.implements)#" aggregates="#createFullPathListOfTypes(arguments.cfcData.has_a)#"#chr(62)# #chr(60)#cfproperty name="#arguments.cfcData.properties[local.thisProperty].name#" type="#getFullPathFromType(arguments.cfcData.properties[local.thisProperty].type)#" /#chr(62)# #chr(60)#cfset this.#arguments.cfcData.properties[local.thisProperty].name# = "" /#chr(62)# #chr(60)#cfset variables.instance.#arguments.cfcData.properties[local.thisProperty].name# = "" /#chr(62)# #chr(60)#cffunction name="#arguments.cfcData.methods[local.thisMethod].name#" returnType="#getFullPathFromType(arguments.cfcData.methods[local.thisMethod].returnType)#" access="#arguments.cfcData.methods[local.thisMethod].access#" output="false" hint="#arguments.cfcData.methods[local.thisMethod].hint#"#chr(62)# #chr(60)#cfargument name="#arguments.cfcData.methods[local.thisMethod].arguments[local.thisArgument].name#" type="#getFullPathFromType(arguments.cfcData.methods[local.thisMethod].arguments[local.thisArgument].type)#" required="true" hint="#arguments.cfcData.methods[local.thisMethod].arguments[local.thisArgument].hint#" /#chr(62)##getCRLF()# #chr(60)#!--- #arguments.cfcData.methods[local.thisMethod].hint# ---#chr(62)# #chr(60)#cfset variables.instance.#getVarNameFromMethod(arguments.cfcData.methods[local.thisMethod].name)# = arguments.#arguments.cfcData.methods[local.thisMethod].arguments[1].name# /#chr(62)# #chr(60)#cfreturn variables.instance.#getVarNameFromMethod(arguments.cfcData.methods[local.thisMethod].name)# /#chr(62)# #chr(60)#cfreturn this /#chr(62)# #chr(60)#cfthrow type="#arguments.cfcData.type#.unimplementedMethod" message="Method #arguments.cfcData.methods[local.thisMethod].name#() in component #arguments.cfcData.type# not implemented yet." /#chr(62)# #chr(60)#cfthrow type="#arguments.cfcData.type#.unimplementedMethod" message="Method #arguments.cfcData.methods[local.thisMethod].name#() in component #arguments.cfcData.type# is abstract and must be overridden by a subclass." /#chr(62)# #chr(60)#/cffunction#chr(62)# #chr(60)#/cfcomponentcfinterface#chr(62)# Error attempting to create CFC stub. The error was: #cfcatch.Message#
The error appears to be due to a method in cfcomponentcfinterface #arguments.cfcData.type# that does not have a valid return type.
The error appears to be due to an argument in cfcomponentcfinterface #arguments.cfcData.type# that does not have a valid type.
#chr(60)#cfcomponent name="Test#arguments.cfcData.type#" extends="#getFrameworkTestCasePath()#"#chr(62)# #chr(60)#cffunction name="setUp" access="public" output="false" hint=""#chr(62)# #chr(60)#cfset var local = StructNew() /#chr(62)# #chr(60)#cfset local.serviceDefinitionLocation = ExpandPath( '#getRelativePath()#/testsuite/coldspring.xml' ) /#chr(62)# #chr(60)#cfset beanFactory = CreateObject('component', 'coldspring.beans.DefaultXmlBeanFactory').init() /#chr(62)# #chr(60)#cfset beanFactory.loadBeansFromXmlFile(local.serviceDefinitionLocation) /#chr(62)# #chr(60)#cfset set#arguments.cfcData.type#(beanFactory.getBean('#arguments.cfcData.type#')) /#chr(62)# #chr(60)#cfset #arguments.cfcData.has_a[local.thisAggregate]# = beanFactory.getBean('Mock#arguments.cfcData.has_a[local.thisAggregate]#') /#chr(62)# #chr(60)#cfset set#arguments.cfcData.type#(CreateObject('component','#getFullPathFromType(arguments.cfcData.type)#').init()) /#chr(62)# #chr(60)#/cffunction#chr(62)# #chr(60)#cffunction name="test_#arguments.cfcData.methods[local.thisMethod].name#" returntype="void" access="public" output="false" hint=""#chr(62)# #chr(60)#cfset var local = StructNew() /#chr(62)# #chr(60)#cfset fail('Test not yet implemented for method #arguments.cfcData.methods[local.thisMethod].name#().') /#chr(62)# #chr(60)#/cffunction#chr(62)# #chr(60)#cffunction name="get#arguments.cfcData.type#" access="private" output="false" hint="I return the #arguments.cfcData.type#."#chr(62)# #chr(60)#cfreturn variables.instance.#arguments.cfcData.type# /#chr(62)# #chr(60)#/cffunction#chr(62)# #chr(60)#cffunction name="set#arguments.cfcData.type#" access="private" output="false" hint="I set the #arguments.cfcData.type#."#chr(62)# #chr(60)#cfargument name="#arguments.cfcData.type#" required="true" hint="#arguments.cfcData.type#" /#chr(62)# #chr(60)#cfset variables.instance.#arguments.cfcData.type# = arguments.#arguments.cfcData.type# /#chr(62)# #chr(60)#/cffunction> #chr(60)#/cfcomponent#chr(62)# #chr(60)#cfcomponent name="Mock#arguments.cfcData.type#" extends="#getFullPathFromType(arguments.cfcData.type)#" implements="#createFullPathListOfTypes(arguments.cfcData.implements)#" hint="I am a Mock object that can be used to replace the #arguments.cfcData.type# CFC when testing other components."#chr(62)# #chr(60)#cffunction name="#arguments.cfcData.methods[local.thisMethod].name#" returnType="#getFullPathFromType(arguments.cfcData.methods[local.thisMethod].returnType)#" access="#arguments.cfcData.methods[local.thisMethod].access#" output="false" hint="#arguments.cfcData.methods[local.thisMethod].hint#"#chr(62)# #chr(60)#cfargument name="#arguments.cfcData.methods[local.thisMethod].arguments[local.thisArgument].name#" type="#getFullPathFromType(arguments.cfcData.methods[local.thisMethod].arguments[local.thisArgument].type)#" required="true" hint="#arguments.cfcData.methods[local.thisMethod].arguments[local.thisArgument].hint#" /#chr(62)##getCRLF()# #chr(60)#cfreturn this /#chr(62)##chr(60)#cfthrow type="Mock#arguments.cfcData.type#.unimplementedMethod" message="Method #arguments.cfcData.methods[local.thisMethod].name#() in component #arguments.cfcData.type# not implemented yet." /#chr(62)# #chr(60)#/cffunction#chr(62)# #chr(60)#/cfcomponent#chr(62)# #chr(60)#!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"#chr(62)# #chr(60)#beans#chr(62)# #chr(60)#bean id="#variables.instance.cfcArray[local.thisCFC].type#" class="#getFullPathFromType(variables.instance.cfcArray[local.thisCFC].type)#"#chr(62)# #chr(60)#property name="#variables.instance.cfcArray[local.thisCFC].has_a[local.thisAggregate]#"#chr(62)# #chr(60)#ref bean="Mock#variables.instance.cfcArray[local.thisCFC].has_a[local.thisAggregate]#" /#chr(62)# #chr(60)#/property#chr(62)# #chr(60)#/bean#chr(62)# #chr(60)#bean id="#variables.instance.cfcArray[local.thisCFC].type#" class="#getFullPathFromType(variables.instance.cfcArray[local.thisCFC].type)#" /#chr(62)# #chr(60)#bean id="Mock#variables.instance.cfcArray[local.thisCFC].type#" class="#getFullPathFromType(variables.instance.cfcArray[local.thisCFC].type, 'Mock', true)#" /#chr(62)# #chr(60)#bean id="Mock#variables.instance.cfcArray[local.thisCFC].type#" factory-bean="MockFactory" factory-method="createMock"#chr(62)# #chr(60)#constructor-arg name="objectToMock"#chr(62)# #chr(60)#value#chr(62)##getFullPathFromType(variables.instance.cfcArray[local.thisCFC].type)##chr(60)#/value#chr(62)# #chr(60)#/constructor-arg#chr(62)# #chr(60)#/bean#chr(62)# #chr(60)#bean id="MockFactory" class="coldmock.MockFactory" /#chr(62)# #chr(60)#/beans#chr(62)# #chr(60)#cfset cfUnitRoot = "net.sourceforge.cfunit" /#chr(62)# #chr(60)#cfset tests = ArrayNew(1) /#chr(62)# #chr(60)#cfset ArrayAppend(tests, "#getFullPathFromType(variables.instance.cfcArray[local.thisCFC].type, 'Test', variables.instance.cfcArray[local.thisCFC].isPreexistingCFC)#") /#chr(62)# #chr(60)#cfset testSuite = CreateObject("component", "#chr(35)#CFUnitRoot#chr(35)#.framework.TestSuite").init(tests) /#chr(62)# #chr(60)#h1#chr(62)#Test Results#chr(60)#/h1#chr(62)# #chr(60)#cfset testSuite = CreateObject("component", "#chr(35)#CFUnitRoot#chr(35)#.framework.TestRunner").run(testSuite, 'Test Suite') /#chr(62)# #chr(60)#cfcomponent displayname="AllTests" output="false"#chr(62)# #chr(60)#cffunction name="suite" returntype="org.cfcunit.framework.TestSuite" access="public" output="false"#chr(62)# #chr(60)#cfset var testSuite = CreateObject("component", "org.cfcunit.framework.TestSuite").init("Test Suite") /#chr(62)# #chr(60)#cfset testSuite.addTestSuite(CreateObject("component", "#getFullPathFromType(variables.instance.cfcArray[local.thisCFC].type, 'Test', variables.instance.cfcArray[local.thisCFC].isPreexistingCFC)#")) /#chr(62)# #chr(60)#cfreturn testSuite/#chr(62)# #chr(60)#/cffunction#chr(62)# #chr(60)#/cfcomponent#chr(62)# #chr(60)#?xml version="1.0"?#chr(62)# #chr(60)#project name="CFUnit" default="allTests" basedir="."#chr(62)# #chr(60)#taskdef name="CFUnit" classname="net.sourceforge.cfunit.ant.CFUnit"/#chr(62)# #chr(60)#property name="domain" value="http://#getHostName()#/" /#chr(62)# #chr(60)#property name="path" value="#getRelativePath()#/testsuite/" /#chr(62)# #chr(60)#target name="testgroup1"#chr(62)# #chr(60)#CFUnit testcase="${domain}#Replace(getFullPathFromType(variables.instance.cfcArray[local.thisCFC].type, 'Test'), '.', '/', 'all')#.cfc" verbose="true" /#chr(62)# #chr(60)#/target#chr(62)# #chr(60)#!-- Use a comma-delimited list of target names to run multiple targets. --#chr(62)# #chr(60)#target name="allTests" depends="testgroup1" /#chr(62)# #chr(60)#/project#chr(62)# #chr(60)#?xml version="1.0"?#chr(62)# #chr(60)#project default="allTests" name="MyTest"#chr(62)# #chr(60)#property name="cfcUnitLib" value="C:\Inetpub\wwwroot\org\cfcunit\lib" /#chr(62)# #chr(60)#property name="hostname" value="#getHostName()#" /#chr(62)# #chr(60)#property name="path" value="#local.cfcpath#.testsuite." /#chr(62)# #chr(60)#taskdef resource="org/cfcunit/ant/antlib.xml"#chr(62)# #chr(60)#classpath#chr(62)# #chr(60)#pathelement location="lib/ant-cfcunit.jar"/#chr(62)# #chr(60)#/classpath#chr(62)# #chr(60)#/taskdef#chr(62)# #chr(60)#target name="testgroup1"#chr(62)# #chr(60)#cfcunit verbose="true"#chr(62)# #chr(60)#service hostname="${hostname}"/#chr(62)# #chr(60)#testclass name="${path}AllTests" /#chr(62)# #chr(60)#/cfcunit#chr(62)# #chr(60)#/target> #chr(60)#!-- Use a comma-delimited list of target names to run multiple targets. --#chr(62)# #chr(60)#target name="allTests" depends="testgroup1" /#chr(62)# #chr(60)#/project#chr(62)#