anchor.diff:  				buildBeforeTests(local.spec);
   
   				if(structKeyExists(spec,"class"))
  -				{
  -					var metaData = getComponentMetaData(spec.class);					
  +				{	
  +					try {
  +						var metaData = getComponentMetaData(spec.class);					
  +					} catch(any e) {
  +						var tryComponentPath = replace(variables.specFilePath,".spec","");
  +						var metaData = getComponentMetaData(local.tryComponentPath);
  +					}
   					//If the spec describes a persistent entity, then we can automatically build out tests to test the 
   					//entity methods
  -					if(structKeyExists(metaData,"persistent") and metaData.persistent IS true)
  +					if(structKeyExists(local.metaData,"persistent") and local.metaData.persistent IS true)
   					{
   						buildEntityTests(local.spec);					
   					}
  
positive.code: 				for(var name in spec.tests)//For each of the tested functions defined in the specification
  				{
  					//These keywords are not actually tests and so they can be skipped
  					if(name IS "setup" OR name IS "before" OR name IS "after" OR name IS "factory"){
  						continue;	
  					}
  					
  					// //IF there was a setup function specified, it was used above. But now we need to delete it as we don't need it for the tests
  					// if(structKeyExists(spec.tests[name],"setup"))
  					// {
  					// 	//Duplicate the test so that we can delete values without affecting the original
  					// 	var func = duplicate(spec.tests[name]);
  					// 	//Delete the seutp function which is only going to leave the contexts under test
  					// 	structDelete(func,"setup");
  					// }	
  					// else{
  					// 	var func = spec.tests[name];
  					// }
  					var func = spec.tests[name];
  
  					for(var context in func)//For each of the contexts for this function that we are testing
  					{						
  
negative.code: 			nl();
  			echo('}');//Ending component Tag
  		}
  		writeLog(file="cfspec",text="End buildHTTPSpec");
  		return local.output;
  	}
  
  