12

Ich habe die Anweisungen auf http://blogs.msdn.com/b/vstsqualitytools/archive/2009/12/01/executing-unit-tests-in-parallel-on-a-multi-cpu-core-machine.aspx bis zum Buchstaben befolgt und ich kann Tests parallel ausführen.Laufende Einheit Tests an mehr als fünf Kernen parallel

So weit so gut.

Nun das Problem: Ich kann den parallleTestCount nicht auf Null setzen (Auto konfigurieren) oder auf einen Wert über 5. Fünf parallele Tests funktioniert gut, aber nicht sechs.

Ja, ich habe mehr als fünf Kerne auf meiner Maschine; Ich laufe auf einem Intel i7-Prozessor, der vier Kerne mit Hyperthreading hat, was bedeutet, dass ich 8 Tests parallel laufen lassen sollte.

Jetzt bin ich mir sicher, dass es einige andere logische oder harte Einschränkungen gibt und ich erwarte nicht, dass ich in der Lage sein werde, mit acht Kernen Blitzschnell acht Tests parallel zu machen.

Aber es wäre cool zu wissen, warum nicht mehr als fünf Tests gleichzeitig laufen?

+0

Wenn Sie sagen, dass Sie es nicht auf Null setzen können, was verhindert das? Erhalten Sie eine Fehlermeldung? –

+0

Doh - ich habe vergessen zu sagen! Wenn ich die Tests mit der Einstellung 0 durchführe, bekomme ich einen Test, der "Nicht ausgeführt" ist und die anderen 7 werden sofort zu "Abgebrochen". Es gibt keine weiteren Informationen. Wenn ich es witzigerweise auf 6 setze, bekomme ich zwei Tests, die "Nicht ausgeführt" sind und der Rest ist "Abgebrochen". Gleich mit der Einstellung auf 7. Mit der Einstellung auf 8 bekomme ich sofort alle Tests "Aborted". – noopman

+0

vielleicht versuchen Sie mit nur einer einfachen Reihe von Tests, die nichts Spektakuläres tun, so dass Sie herausfinden können, ob das Problem in den Tests, die Sie ausführen, oder im Test-Framework selbst ist? – obelix

Antwort

6

Es scheint, dass dies ein Fehler in MSTest ist. Ich bin über das gleiche Problem gestolpert, alle Tests sind als abgebrochen markiert und es gibt einen "Testlauffehler" -Link im Fenster Testergebnisse, der, wenn er angeklickt wird, folgende Meldung liefert: "Testlauf wird abgebrochen", Anzahl der Hung-Tests überschreitet maximal zulässige '5' ".

Update: Es ist in Visual Studio 2010 Service Pack behoben.

+0

Ich kann das bestätigen! Scheint es ist VS, der uns abschneidet! – noopman

+1

Ein Problem bei Microsoft Connect hier abgelegt: https://connect.microsoft.com/VisualStudio/feedback/details/587386/running-more-than-five-tests-in-parallel-does-not-work –

1

Es könnte nur ich sein, aber Hyperthreading ist kein echter Kern, also ein i7 hat nur wirklich 4 physische Kerne nicht 8. Vielleicht ist es etwas damit zu tun.

Oder vielleicht gibt es einige Bios-Einstellung in Bezug darauf, wie das Hyperthreading vom Betriebssystem verwendet werden kann, die es verhindert.

+0

Sie haben wahrscheinlich Recht, aber wie erklärt das, dass ich problemlos 5 Tests und nicht nur 4 Tests durchführen kann? – noopman

+0

Ich denke, in der Theorie sollte die HT mehr zulassen, aber vielleicht gibt es etwas im BIOS, das begrenzt, wie die HTs verwendet werden können und die aktuelle Einstellung ist, was VS zu tun 5, aber nicht mehr und ändern könnte mehr zulassen. – Peter

Verwandte Themen