12

Podążyłem za instrukcjami podanymi na http://blogs.msdn.com/b/vstsqualitytools/archive/2009/12/01/executing-unit-tests-in-parallel-on-a-multi-cpu-core-machine.aspx i mogę wykonywać testy równolegle.Uruchamianie testów jednostkowych na więcej niż pięciu rdzeniach równolegle

Jak dotąd tak dobrze.

Teraz problem: Nie mogę ustawić parametru parallelTestCount na zero (automatyczna konfiguracja) lub na wartość powyżej 5. Uruchomienie pięciu równoległych testów działa dobrze, ale nie sześciu.

Tak Mam więcej niż pięć rdzeni na mojej maszynie; Używam procesora Intel i7, który ma cztery rdzenie z hyperthreading, co oznacza, że ​​powinienem móc równolegle wykonywać 8 testów.

Teraz jestem pewien, że istnieją pewne inne logiczne lub trudne ograniczenia i nie spodziewam się, że będę w stanie równolegle prowadzić osiem testów z ośmioma prędkościami błyskawicy.

Jednak byłoby fajnie wiedzieć, dlaczego nie działa więcej niż pięć testów równolegle?

+0

Kiedy mówisz, że nie możesz ustawić go na zero, co zapobiega temu? Czy otrzymujesz komunikat o błędzie? –

+0

Doh - zapomniałem powiedzieć! Po uruchomieniu testów z ustawieniem 0 otrzymuję jeden test "Nie wykonano", a pozostały 7 natychmiast przechodzi w "Przerwano". Nie ma więcej informacji. Kiedy ustawię go na 6 funnily wystarczy, że dostaję dwa testy, które są "Not Executed", a reszta to "Aborted". To samo z ustawieniem na 7. Przy ustawieniu na 8 otrzymuję natychmiast wszystkie testy "Przerwano". – noopman

+0

może wypróbować za pomocą prostego zestawu testów, które nie robią nic spektakularnego, aby można było ustalić, czy problem leży w testach, które właśnie wykonujesz, czy w samej strukturze testowej? – obelix

Odpowiedz

6

Wygląda na to, że jest to błąd w MSTest. Natknąłem się na ten sam problem, wszystkie testy są oznaczone jako przerwane, aw oknie wyników testu znajduje się link "Błąd testu testowego", który po kliknięciu powoduje wyświetlenie następującego komunikatu: "Uruchomienie testu zostało przerwane", liczba zawieszonych testów przekracza maksymalne dopuszczalne "5" ".

Aktualizacja: Naprawiono to w dodatku Service Pack Visual Studio 2010.

+0

Mogę to potwierdzić! Wydaje się, że to VS odcina nas! – noopman

+1

Rozwiązano problem dotyczący usługi Microsoft Connect tutaj: https://connect.microsoft.com/VisualStudio/feedback/details/587386/running-more-than-five-tests-in-parallel-does-notwork –

1

To może być tylko ja, ale hyperthreading nie jest prawdziwym jądrem, więc i7 ma tylko 4 fizyczne rdzenie, a nie 8. Może to ma coś wspólnego z tym.

A może jest pewne ustawienie biosu dotyczące tego, w jaki sposób system HyperThreading może być używany przez system operacyjny, który temu zapobiega.

+0

Prawdopodobnie masz rację, ale jak to wyjaśnić, że mogę łatwo przeprowadzić 5 testów, a nie tylko cztery? – noopman

+0

Myślę, że teoretycznie HT powinna pozwolić na więcej, ale być może jest coś w biosie, które ogranicza sposób korzystania z HT, a obecne ustawienie pozwala VS na 5, ale nic więcej, a zmiana może pozwolić na więcej. – Peter

Powiązane problemy