Obecnie tworzę przykładową aplikację, w której używam MS Test, aby zaimplementować oparty na scenariuszu projekt typu UnitTest typu "Given-When-Then" w VS2012. Aby to działało, mam abstrakcyjną klasę Scenariusz (podstawową), która ma wirtualne metody Given() i When() - uruchamiane podczas fazy TestInitialization. Wyniki metody When() są następnie przechowywane i można je zweryfikować za pomocą dowolnych metod TestMethod w dowolnej konkretnej klasie scenariusza, reprezentujących instrukcje "Then". Wszystko działa idealnie.MSTest: Jak zmienić nazwę TestMethod w TestExplorer?
Jest jeszcze jedna rzecz, którą chciałbym kontrolować: nazwy wszystkich metod TestMethod, które są wyświetlane w TestExplorer Visual Studio. Dzieje się tak, ponieważ wiele metod TestMethod ma takie same lub podobne nazwy, ale są one wykonywane w różnych scenariuszach (na przykład "ExpectedExceptionIsThrown"). myślałem że coś takiego będzie wspierany przez MS testy, być może przez native wsparciu TestMethodAttribute tak:
[TestMethod("DisplayName here...")]
public void ThenThisShouldHappen()
{
...
}
Szukałem poprzez API MS test, ale nie wydaje się znaleźć jakiś sposób aby to zrobić. Czy to w ogóle możliwe z testem MS?
Nie widzę żadnego sposobu. Przy okazji, czy zastanawiałeś się nad użyciem rozszerzenia SpecFlow do VS, ponieważ obsługuje on natywnie opcję Given When Then i zapewnia wspaniałą obsługę edytora dla testów BDD? – kamranicus
Myślenie także o tym problemie. –
Masz również ten problem. Jest [DescriptionAttribute] (https://msdn.microsoft.com/library/microsoft.visualstudio.testtools.unittesting.descriptionattribute.aspx), ale z tego co wiem, nic nie robi. – talles