We have a project which contains one web role and one worker role. I want to run integration tests for the worker role on the local computer but I do not know how to start only the instance of the worker role in order to just run the tests. I do not want to start the web role for the integration tests because I do not need it.
In a separate project where the worker role was alone it was really nice and easy to do it.
Is it a good idea to create a separate solution (and then in the source control too) which contains only the worker and its tests? This way I will have the projects in the main solution which is the one which gets deployed but I will not "spoil" this solution with integration tests which are not "executable" in TFS online.
Is it generally a good idea of having separate solutions for integration testing in order not to spoil the main solution with tests that are not executable in TFS (be it TFS online or on premise)? We usually place my unit tests in a project in the main solution which tests get executed after TFS build the app.
I tried a solution which looks fine. Let me explain.
Branch structure :
I have create a .sln in "integrationTests" in which I added Main.Worker1 included it in source control. Making it so gives me free space for integration tests in separate solution which refers to the original projects. Now I can start two instances of VS, start the integration test and debug the worker project line by line if I wish.
A good side effect is that when I merge code to prod branch I will not spoil it with integration tests.
If somebody finds a better solution it will be great to post it.