Self admittedly, I am new to Unit Testing. It is on my list of things to learn and implement into my development toolbox and workflow for 2010. So, officially, I have begun the process using the Base Test Case ColdBox has built in and the illustrious MXUnit of course.
All my testing was working great until I wanted to test something that was using CF9 ORM/Hibernate integration.
The first issue I had was that ColdBox creates a separate application for testings. That is, the test folder has its own application.cfc defined. Well, obviously by default, that application.cfc doesn't have ORM setup, which then of course caused me not to be able to test anything that relied on or used an ORM "persistent=true" cfc or did an EntityLoad or anything like that.
So, the workaround for this issue is pretty simple.
First, open up the application.cfc in the test folder, then setup a mapping to your base application your testings. Call it whatever you like, I called my mapping baseApp.
this.mappings["/baseApp"] = expandpath('../../');
You can change the pathing to match your given scenario.
Then you need to configure orm in the application.cfc.
this.ormenabled = "true";
this.datasource = "MyDSN";
this.ormsettings = {cfclocation=["/baseApp/model/ORM","/baseApp/modules"]};
And there you have it, ORM is now configured for your testing application and you can test away.
Add Your Comment