Testando um aplicativo WPF com testes CodedUI, o projeto de teste de interface do usuário codificado deve compartilhar uma solução ou não?

Primeiro algum contexto; Estamos desenvolvendo um aplicativo WPF de área de trabalho grande no .NET 4.5 visando o Windows 7 e 8 de 64 bits. Estamos usando o Visual Studio 2012.2 (em breve será .3 e provavelmente 2013!) e o TFS 2012 (novamente .2 em breve .3 2013).

Atualmente este produto é tudo em uma única solução grande (pouco mais de 50 projetos) gerando um exe WPF, uma carga de dlls e um MSI legal para instalá-lo.

Usamos o TFS (fechado e programado) para construir a solução, seu instalador (WiX) e executar seus testes (testes de unidade SpecFlow para BDD e MSTest) e isso está funcionando muito bem.

Eu tenho uma compilação TFS agendada separada que implanta o MSI no equipamento de teste físico em um domínio não confiável do AD por meio de um script do PowerShell (consulteOs scripts de implantação de modelo do TFS2012 LabDefault.11 falham com “O Team Foundation Server não pôde concluir a tarefa de implantação” para detalhes dos desafios envolvidos com isso!)

OK, então é aí que eu estou, agora eu quero levar as coisas para o próximo passo; Testes CodedUI para conduzir o teste de integração de aplicativos completo; Eu quero "Smoke Test" minhas compilações.

Então, sendo uma alma simples, adicionei um novo projeto à minha solução de produtos; um projeto de teste CodedUI.

Isso felizmente executa o produto instalado localmente (em vez do recém-construído; como, em última instância, quero que o CUIT seja executado em um equipamento de teste implantado como um teste de fumaça e esse equipamento acabou de instalar o MSI que acabei de construir) testes com asserções.

Agorameu problema é com o projeto CUIT como parte da solução de produtos que um teste local encontra e executa meus testes CUIT, e isso é indesejado. Eu só quero executar os testes CUIT em um laboratório constrói fase de teste.

assimcolocar o projeto CUIT na solução do produto é uma má ideia? oudeve ser uma solução separada? Dividi-los parece errado de alguma forma como eles estão relacionados; o projeto CUIT é o teste de integração de pilha completa para o aplicativo implementável da solução.

Posso incluir o CUIT na solução de produtos e impedir que o executor de teste veja os testes? ou é melhor apenas ter duas soluções?

Quais são os prós e contras?

Atualizar

No final, criamos uma nova solução contendo um projeto de teste de IU codificado e garantimos que isso fosse criado com a mesma compilação do TFS que criou a solução de IU. Isso nos permite carregar e executar os testes de UI codificados localmente sem problemas, os testes de unidade no projeto principal da interface do usuário não são afetados. Ainda parece um pouco desconexa, mas em uma equipe de várias pessoas por usuário configurações de teste foram muito complicadas dividir a interface do usuário codificada em uma solução diferente foi mais simples.

questionAnswers(2)

yourAnswerToTheQuestion