So my problem is the following. (Microsoft Test Manager, Test controller, test agent)
I have a testplan that run tests on several services, some services are the same but different versions.
The services with different version has the same name on their client dll. Lets say person.client.dll
So here comes the problem.
When I run the tests(the whole testplan) the first version test fails but it doesnt fail when I run them seperatly.
So I googled and did some logging on the testagent and discovered this:
Copying remote file: C:\Users\service.tfstestcontr\AppData\Local\VSEQT\QTController\746\Deployment\Hogia.Person.Client.dll to: C:\Users\fredrik.almen\AppData\Local\VSEQT\QTAgent\746\isptest2013.hogia.local\Deployment\Hogia.Person.Client.dll
So here is the problem if I have pinpointed it correctly. It will copy all the files to the same folder "deployment" The person.client.dll early version will come first then the second, overwriting the first one.
That will cause a failure on the Version 1 tests because it goes against the wrong dll.
So my first thought was. The developers need to rename their dlls. But here is the other issue.
Our customer wants an easy way to upgrade to a new version so having the same name on the dll will simplify their upgrade alot.
So it´s not an option.
I build everything perproject, all of them are different solution but in the same builddefinition.
My question
Is there anyway to fix this? maybe so the copy function seperates alla dlls in different folder or any other solution. I want to keep the folder structure I have when they get into the dropfolder
(Folder structure))
applicationServiceTests
PersonserviceTests
PErsonserviceTestsV2
see link instead : http://prntscr.com/54vm0a
This is how the droplocation looks like, So they are all seperated. Then when I run all tests together all the dlls from all these folders get placed in one folder the deployment folder, thats when dlls with the same name gets owerwritten.
The reason why I have everything in one build definition because this is our deploy acceptance test, if these tests dont run successfully then we cant deploy. So to seperate differente versions to different build solutions will only be time consuming. One testplan for the deploy acceptance test. It´s the devops who run the tests so we need to keep it simple for them and not introduce different testplans for different versions.
(so the solution to have different build_definition will probably not work for me)
Is there anyway to configure the testcontroller/testagent to seperate dlls when doing the copy in a test run. That would solve the problem for me?