Nie wskrzeszać martwej nici, ale natknąłem się na to, kiedy to nagle stało się dla mnie, na wypadek, gdyby mogło pomóc innym. W końcu odkryłem, na czym polega problem, który może korelować z tym, co znalazł Jon. Wydaje się, że atrybut ExpectedException działa tylko wtedy, gdy projekt zostanie rozpoznany jako projekt testowy. (Nie tylko zespół Net)
Unload projekt, edytować plik csproj i sprawdzić, czy jest tam następujące ustawienia:
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
(Zakładając, że projekt VS2010) przeładować projekt i odbudować. Testy ExpectedException powinny teraz przejść pomyślnie.
Wpadliśmy w tej kwestii podczas standaryzacji testów z NUnit do MSTest (dziękuję TFS CI Build) i okazało się, że po wymianie Assert.Throws <> piękna prostota & elastyczność [ExpectedException (typ)] bzdura, (nie wspominając tracąc [TestCase()]!) Testy ExpectedException nie powiodły się bez powodu. Przełącz z powrotem na NUnit z ExpectedException, bez problemu, MSTest odmawia uruchomienia go.
trzeba powiedzieć, że będzie pchanie uzyskać NUnit z powrotem, po znalezieniu: http://blog.shawnewallace.com/2011/02/running-nunit-tests-in-tfs-2010.html
Otrzymuję to samo, ale nie mogę znaleźć nic na ten temat. Ktoś inny ma ten sam problem. http://stackoverflow.com/questions/2628965/expectedexception-on-testmethod-visual-studio-2010 –
Czy debugujesz lub uruchamiasz test? – Joop