It's stated in the AppHarbor documentation that configuration transformations are applied for both website and background worker config files. However, I have a non-executable, non-deployable integration test project that requires an app.config transform for the Test environment.
So far I've not had any success with this the following file structure, and I'm guessing that AppHarbor doesn't support configuration transformation on DLL projects during the Test execution build step:
Specs.proj
+
+-- Specs.dll.config
+
+-- Specs.dll.Debug.config
+
+-- Specs.dll.Test.config
Does anybody know if this should be possible?
Transforming config for library projects (dlls) just doesn't make sense. Your application will use the app.config of your exe or web.config of your web application.
So you'll need to copy the relevant config settings from your dll config to your exe/web config transformations.
Update
Since this is for running tests, I'd recommend a different approach: injecting them as dependencies. See Configuration Settings Are A Dependency That Should Be Injected for an excellent post on this topic.
Here's an opinionated excerpt that changed my thinking:
So why is it a hack to add config settings to your unit test project? Well, web.config and app.config are files just like any other. So referencing configuration settings within a class means that that class has a direct dependency on the filesystem. You wouldn't feel so comfortable (i hope) if your unit test opened up a file in My Documents, or downloaded a web page from the Internet, so why do people think that is is acceptable to access web.config?