2013-04-25 11 views
5

W NUnit, możliwe jest uzyskanie aktualnego testu z NUnit.Framework.TestContext.CurrentContext. Kiedy przeprowadzam testy na moim komputerze lokalnym, jest to poprawnie wypełniane podczas testowania. Jednak po wysłaniu do serwera deweloperskiego z TeamCity ta struktura danych ma pewien problem powodujący błędy. Te błędy występują podczas uzyskiwania dostępu do context.Test.FullName, context.Test.Name i context.Result. Na przykład za pomocą następującego kodu:Jak uzyskać aktualny TestContext w TeamCity NUnit runner

var name = NUnit.Framework.TestContext.CurrentContext.Test.Name; 

ten wyjątek występuje, ale tylko wtedy, gdy TeamCity jest uruchomiony testy:

TearDown method failed. TearDown : System.NullReferenceException : Object reference not set to an instance of an object. 
--TearDown 
    at NUnit.Framework.TestContext.TestAdapter.get_Name() 

Czy TeamCity nie wypełniania TestContext lub tam jest poprawny sposób uzyskać to dane?

Odpowiedz

1

Najlepsze przypuszczenie: nie jest to możliwe, ponieważ TeamCity nie wypełnia struktur danych TestContext. Nie może tego również, ponieważ setery w NUnit nie są publiczne. Aby ta funkcjonalność działała, prawdopodobnie NUnit wymaga modyfikacji.

Aby obejść to ograniczenie, napisaliśmy własny tester z niestandardową strukturą danych, aby wskazać niepowodzenie testu (co było głównym celem tego problemu).

Powiązane problemy