3 Stimmen

MbUnit Parallelisierbare Tests

Ich überlege, von NUnit zu MbUnit zu wechseln, um mein Unit-Testing-Framework zu nutzen, da es einige Funktionen hat, die mir gefallen, unter anderem das Attribut "parallelisierbar". Was passiert, wenn ich Tests mit diesem Attribut markiere?

i, sind alle Instanzvariablen nur für ihren eigenen Thread verfügbar oder werden sie gemeinsam genutzt? ii, wie viele Tests werden auf einmal ausgeführt? Hängt dies von der Anzahl der Prozessoren/Kerne ab?

Grund für die erste Frage ist, dass ich als Test einfach das Nunit-Framework für das MbUnit-Framework ausgetauscht habe, und in einer bestimmten Testklasse neigen Sätze von Tests dazu, fehlzuschlagen, wenn sie parallel ausgeführt werden, und bestehen, wenn sie sequentiell ausgeführt werden. Diese Tests verwenden Variablen auf Klassenebene und richten dann in der [SetUp].

1voto

GraemeF Punkte 11107

Die Tests laufen auf einer einzigen Instanz Ihrer Testfixture-Klasse, so dass die Instanzfelder gemeinsam genutzt werden.

Standardmäßig entspricht der Grad der Parallelität der Anzahl der CPUs, die Sie haben, also mindestens 2. Sie können den DegreeOfParallelism Attribut auf der Baugruppenebene, um dies außer Kraft zu setzen.

Ver dieser Blogbeitrag für Details und einige Beispiele, die Ihnen zeigen, wie Sie die verschiedenen Attribute verwenden können.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X