Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met ontwerpregels kunt u testsuites maken en onderhouden die voldoen aan de juiste ontwerp- en goede procedures. Deze regels richten zich op teststructuur, best practices en algemene patronen die leiden tot onderhoudbare testcode.
Regels in deze categorie
| Regel-id | Title | Severity | Oplossing beschikbaar |
|---|---|---|---|
| MSTEST0004 | Openbare typen moeten testklassen zijn. | Informatie | Yes |
| MSTEST0006 | Vermijd het kenmerk ExpectedException. | Informatie | Yes |
| MSTEST0015 | Testmethode mag niet worden genegeerd. | Geen (opt-in) | Nee. |
| MSTEST0016 | Testklasse moet een testmethode hebben. | Informatie | Nee. |
| MSTEST0019 | Geef de voorkeur aan TestInitialize over constructors. | Geen (opt-in) | Yes |
| MSTEST0020 | Gebruik bij voorkeur constructors boven TestInitialize. | Niet geselecteerd (opt-in) | Yes |
| MSTEST0021 | Geef de voorkeur aan Dispose boven TestCleanup. | Geen (opt-in) | Yes |
| MSTEST0022 | Geef de voorkeur aan TestCleanup over Verwijdering. | Geen (opt-in) | Yes |
| MSTEST0025 | Geef de voorkeur aan Assert.Fail over altijd onwaar voorwaarden. | Informatie | Yes |
| MSTEST0029 | De openbare methode moet een testmethode zijn. | Informatie | Yes |
| MSTEST0036 | Gebruik geen schaduw. | Waarschuwing | Nee. |
| MSTEST0044 | Geef de voorkeur aan TestMethod over DataTestMethod. | Informatie | Yes |
| MSTEST0045 | Gebruik coöperatieve annulering voor een timeout. | Informatie | Yes |
Algemene scenario's
Klassestructuur testen
Bij het maken van testklassen zorgen deze regels voor een goed ontwerp:
- MSTEST0004: Houd helperklassen intern, alleen testklassen moeten openbaar zijn.
- MSTEST0016: Zorg ervoor dat testklassen ten minste één testmethode bevatten.
- MSTEST0029: Openbare methoden in testklassen moeten testmethoden zijn.
Initialisatiepatronen
MSTest ondersteunt zowel constructors als TestInitialize-methoden. Met deze wederzijds exclusieve regels kunt u een consistent patroon afdwingen:
- MSTEST0019: TestInitialize afdwingen voor initialisatie (handig voor asynchrone scenario's).
- MSTEST0020: Construeerders afdwingen voor initialisatie (beter voor niet-wijzigbare velden).
Opschoningspatronen
Kies op dezelfde manier tussen Verwijderen en TestCleanup:
- MSTEST0021: Verwijderingspatroon afdwingen voor opschonen.
- MSTEST0022: De TestCleanup-methode afdwingen voor opschoning.
Betere beweringen
- MSTEST0006: Gebruik Assert.ThrowsExactly in plaats van [ExpectedException] voor betere precisie.
- MSTEST0025: Gebruik Assert.Fail in plaats van Assert.IsTrue(false).
Testkwaliteit
- MSTEST0015: Genegeerde tests markeren (opt-in-regel).
- MSTEST0036: Vermijd het schaduwen van basisklasseleden.
- MSTEST0044: TestMethod gebruiken, tenzij gegevensgestuurde tests nodig zijn.
- MSTEST0045: Cancellatietokens inschakelen voor timeoutverwerking.