Talking to ColdFusion

The MXUnit Eclipse plugin cannot execute ColdFusion code inside of Eclipse; thus, it needs to communicate with your ColdFusion server via other means. The plugin works by making webservice (SOAP) calls to a CFC, passing in the dot-notation path to components; the CFC in turn runs each component's tests and returns results back to the plugin.

You have two primary things to configure:

  1. the URL to the cfc that will serve as the intermediary between Eclipse and CF
  2. the cfc path (dot-notation) for each project's components

This isn't as spooky as it sounds.

RemoteFacade.cfc URL

Many users will be able to get away with configuring one global setting: the 'Remote Facade URL'. If you don't require any custom pre-test behavior, then a single RemoteFacade.cfc URL, set as a global preference, will suffice. You'll just point to the one in the mxunit/framework directory.

If, however, you need custom pre-test behavior in the RemoteFacade URL -- or if you need your tests to run under the context of the project's Application.cfc (you will NEED to do this if you're testing CF ORM components) -- then you'll need to do slightly more work... you'll need to configure the RemoteFacade URL at the project level, not at the global level.

CFC Path

Usually, the plugin will be able to derive the dot-notation (com.blah.blah) path to your components by taking the segments of the filesystem path, relative to the project root, and converting slashes to dots. For example, if you have an Eclipse project at C:\myapps\PilesOCash\ --and in there you have a directory of tests at C:\myapps\PilesOCash\tests\magic\MakeMeABillionaireTest.cfc -- then the plugin would turn that cfc into the dot-notation of "PilesOCash.tests.magic.MakeMeABillionaireTest".

If this is how ColdFusion sees that component, then you're gold. If not, then you'll need to tell the plugin what the path to your MXUnit test components should be, at the project level.

So, let's start:
Tell me more about the RemoteFacade URL
Tell me more about CFC Paths