Megosztás a következőn keresztül:


MSTEST0001: A tesztek párhuzamosításának explicit engedélyezése vagy letiltása

Tulajdonság Érték
Szabályazonosító MSTEST0001
Cím Tesztek párhuzamosításának explicit engedélyezése vagy letiltása
Kategória Teljesítmény
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve Igen
Alapértelmezett súlyosság Információ
Bevezetés a verzióba 3.2.0

Ok

A szerelvény nincs megjelölve attribútummal vagy [assembly: DoNotParallelize] attribútummal[assembly: Parallelize].

Szabály leírása

Alapértelmezés szerint az MSTest egymás után futtatja a teszteket ugyanazon a szerelvényen belül, ami súlyos teljesítménykorlátozásokhoz vezethet. Javasoljuk, hogy engedélyezze a szerelvényattribútum [assembly: Parallelize] számára a tesztek párhuzamos futtatását, vagy ha a szerelvény ismert, hogy nem párhuzamosítható, használja explicit módon a szerelvényszintű attribútumot [assembly: DoNotParallelize].

Az alapértelmezett konfiguráció [assembly: Parallelize] egyenértékű [assembly: Parallelize(Scope = ExecutionScope.ClassLevel)], ami azt jelenti, hogy a párhuzamosítás osztályszinten (nem metódusszinten) lesz beállítva, és a lehető legtöbb szálat fogja használni (a belső megvalósítástól függően).

Szabálysértések kijavítása

A szabály megsértésének kijavításához adja hozzá [assembly: Parallelize] vagy [assembly: DoNotParallelize] attribútumot. Javasoljuk, hogy a legjobb párhuzamosítást használja [assembly: Parallelize(Scope = ExecutionScope.MethodLevel)] .

Mikor kell letiltani a figyelmeztetéseket?

Ne tiltsa el a szabály figyelmeztetését. A párhuzamosítás engedélyezésekor számos kódtár nagy teljesítménynövelést érhet el. Ha a tesztalkalmazást úgy tervezték, hogy megakadályozza a párhuzamosítást, az attribútum explicit beállítása segít az új fejlesztőknek megérteni a kódtár korlátait.