2010-08-13 12 views

Odpowiedz

7

Jeśli używasz NUnit 2.5, możesz użyć atrybutu Timeout, aby zakończyć test po określonym czasie. Niestety będziesz musiał sam wyczyścić wszystkie zasoby - np. w metodzie TearDown sprawdź, czy procesy są uruchomione i zabij je itp.

0

To wygląda jak zapach testowy. Moim zdaniem przy ustawianiu limitu czasu próbujesz walczyć z objawami. Testy jednostkowe powinny być szybkie i powtarzalne (również w prędkości).

Dlaczego test trwa tak długo? Czy to nawet przypadkowo "trwa długo" (czasami wykonuje szybko, czasem nie)?

+0

Powiedział procesy potomne. Zgaduję, że proces potomny zawodzi w sposób, którego nie jest w stanie łatwo wykryć. – Rup

+1

Obecnie trwa to trochę dłużej. Dopóki nie zostanie naprawiony (co zajmie trochę czasu), mogę go wyłączyć lub sprawić, że przestanie działać po upływie limitu czasu. –

+2

Chodzi o to, że test NIE SPEŁNIA, jeśli trwa to zbyt długo - powoduje, że testy jednostkowe działają szybko - co, jeśli jakiś kod ma gdzieś nieskończoną pętlę - niezależnie od tego, jak szybko wszystko jest w porządku, chcesz, aby kod szybko zawodził i nie zawieszaj serwera kompilacji ... – BrainSlugs83

Powiązane problemy