Има няколко теста в моето решение за тестване, коитотрябва да се стартира първо или иначе по-късните тестове ще се провалят. Искам начин да гарантирам, че те се изпълняват първо и в определен ред. Има ли някакъв начин да направите това различно от използването на .orordertest файл? Някои проблеми с .ordentest:
- Определени тестове трябва да се изпълняват в произволен ред след приключване на „настройките“
- Подреденият тест изглежда не призовава метода ClassInitialize
- Не е ли поръчан тест на форма или тестов списък, който е оттеглен във VS / TFS 2012?
Отговори:
3 за отговор № 1Моят съвет би бил да коригирате тестовете си, за да премахнете зависимостите (т.е. да ги направите правилни „единични“ тестове) - в противен случай те са длъжни да създават проблеми по-късно, например:
- причинявайки прост неуспех в каскада, така че стотици тестове се провалят и затрудняват намирането на първопричината
- се проваля неочаквано, защото някой неволно е променил заповедта за изпълнение
- отчитането преминава, когато в действителност те трябва да се провалят, само защото първоначалното състояние не е както изискваха
Можете да опитате подходи като:
- дръжте тестовете отделно, но накарайте всеки от тях да бъде настроен и да разрушите тестовата среда, която им е необходима. (Тук може да бъде полезен споделен клас за предоставяне на първоначалното състояние)
- обединете свързаните тестове в един единствен, така че да можете да контролирате надеждно настройката, изпълнението и закриването.