Assista a gravação do Workshop de ASP.NET CORE 1.1 + SQL SERVER LINUX/WIN + DOCKER + CIRCLECI + AZURE

Foi um sucesso. Quase 400 pessoas de toda parte do Brasil, de norte a sul, acompanharam na semana passada 5 noites de puro conhecimento em que eu e o super Rafael Santos promovemos pelo Youtube. Foi incrível.

Como prometido, as gravações estão disponíveis no meu canal do YouTube. São quase 10 horas de treinamento FREE para você dar aquele ramp-up na carreira. Espero que façam bom proveito e agradecemos qualquer comentário ou like que você puder contribuir.

Para acompanhar, faça o clone do repositório que trabalhamos durante a semana: https://github.com/rsantosdev/workshop-aspnetcore-circleci-azure


Em tempos, tivemos centenas e centenas de feebacks no Twitter. Um deles reporto abaixo. Teve gente que assistiu até do ônibus para não perder nenhum momento


Clique aqui para assistir a série completa e salve no seu favoritos


Se você gostou do workshop e realmente foi útil a você, curta os videos e ajude-nos a divulgar. Não deixe de me seguir no facebook e no twitter, além do canal no YouTube para não ficar de fora dos próximos.

Abraço e até a próxima!

Unit Test – Resolvendo erro ao executar vários testes ao mesmo tempo

Um dia desses, ao realizar alguns testes, percebi que rodando um determinado teste de forma isolada eu não tinha problemas. Porém ao executar todos ao mesmo tempo, o teste quebrava (independentemente de clean em banco). 

image

A mensagem de erro obtida:

COM object that has been separated from its underlying RCW cannot be used

System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.”

A mensagem de erro é bem antiga. Mas para testes, era algo que não tinha visto.
Analisando, vi que o método de teste acessava um componente COM através de uma chamada implícita de anotação. Desta forma teremos dois processos (nativo e COM) ao rodar todos os testes. Dessa forma, como não é possível disparar dois processos em uma mesma thread, obtemos o erro citado acima.

Podemos resolver este problema apenas realizando uma pequena configuração ao seu arquivo de testes (xml).

image

Abra o Local.testsettings em um XML (Text) Editor e modifique o parâmetro apartmentState=”STA” para “MTA” como na instrução abaixo:

<testsettings  xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" name="Local">
<description>These are default test settings for a local test run.</description>
<execution>
<executionthread  apartmentstate="MTA"></executionthread>
</execution>
</testsettings>

Da forma tradicional o método testado não é compatível com STA (Single Threaded Apartment), então, tive que alterar e executar meus testes em modo MTA (Multithreaded Apartment).

Salve, feche e abra o VS e execute todos seus testes novamente.

image

Pronto, agora tudo verde. Só alegria!

Você pode saber mais sobre Single Threaded e Multithreaded na documentação da Microsoft.

[]’s