Pergunta

Devido a algumas configurações no meu dev caixa eu fui forçado a mover o código para o "Documents and Settings" pastas.Desde a nossa #?*&%$£ "amado", necessariamente, VCS podem ter problemas com caminhos de arquivo longo em cenários específicos, eu mapeada uma unidade de disco (V:) para apontar para o código.Isso geralmente funciona agora com uma exceção:por algum motivo, o teste de unidade corredores integrados VS não é possível executar testes mais.Eu especificamente fechar esta usando TestDriven.NET e o ReSharper test runner.Ambos mostram o mesmo comportamento estranho:sem erros, os testes estão apenas NÃO executar.

0 Passado, Falha De 0, 0 Ignorados

Quando eu abrir a solução de C:\Documents...e executar os testes utilizando disse corredores, ele funciona:

211 Passado, Falha De 0, 0 Ignorados

Minha primeira suspeita de um 64bit problema (estamos no Win7 Ultimate x64).Mas o teste assemblies são definidas para "any CPU", ambos os corredores podem lidar com esse cenário e redirecionar para o adequado NUnit executáveis (...tão longe quanto eu posso dizer, me corrija se eu estiver errada!).Abrindo o teste de montagens com o NUnit GUI tanto a partir de C:\ V e:\ funcionar bem.

Eu só posso supor que isso tem a ver com os corredores em VS não sendo capaz de invocar os testes quando os caminhos de arquivo referem-se a uma unidade mapeada...mas esse som muito estranho, então eu estava esperando que alguns de vocês já viram esse problema antes e posso dar alguns conselhos.

Para ferver até uma pergunta:
Alguém já teve problemas com o NUnit corredores de teste no VS 2010 não a execução de testes, possivelmente devido à solução, sendo em uma unidade mapeada?

Win 7 Ultimate x64
VS 2010 Ultimate
O NUnit 2.5.8
TestDriven.NET 3
ReSharper 5.1

Foi útil?

Solução 2

OK, nós finalmente encontrei uma maneira de contornar esta situação.Enquanto nós realmente não resolver o problema com o nosso mapeada V:a unidade sendo uma unidade de rede, ele funciona bem se você criar a unidade mapeada usando o SUBST de comando.

A diferença aqui é que a V:a unidade foi tratado como um local de rede desde que eu criei o mapeamento usando "mapear unidade de rede" no menu do explorer (que eu acredito que é equivalente à NET de comando).Isso pode levar a problemas de confiança quando assembléias são chamadas entre a rede e unidades locais.Alguns caras ainda tem mensagens de erro durante a compilação ao longo das linhas de

Exceção Não Tratada:Do sistema.Segurança.SecurityException:Que a montagem não permite parcialmente chamadores confiáveis.

Usando SUBST nosso V:a unidade aponta para um local (=confiável) localização, e agora nossos testes executados conforme o esperado.

Para criar uma unidade mapeada com o SUBST, faça o seguinte.Esta exemplos de mapas de um novo drive virtual "V" para o código do local em que os usuários' (= [seunome] pasta:

C:>subst v:C:\Users[seunome]\código

Outras dicas

Eu ainda não tentei.Mas apenas um pensamento.Você pode verificar o caminho dos arquivos executáveis para TestDriven.Net assim como o NUnit.Você pode também querer verificar a referência para o projeto de teste.é absoluta ou relativa?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top