Среда:
У меня есть программа - CSIS, - для которой мне нужно запустить множество автоматизированных тестов в Visual Studio 2010 с использованием C #.У меня есть ряд функций, которые нужно запускать в разных порядках, но все они начинаются и заканчиваются на одном «домашнем экране» CSIS.Тесты будут выполняться самостоятельно как отдельный CodedUITest (тип файла .cs) или как упорядоченный тест (тип файла .orderedtest).
Цель:
Цель состоит в том, чтобы открыть домашнюю страницу CSIS один раз, независимо от того, какой из модульных тестов выполняется первым, а затем, после завершения всех CodedUITests, нетнезависимо от того, какой юнит-тест является последним, автоматический тест закроет CSIS.Я не хочу создавать отдельный модульный тест для открытия CSIS на домашней странице, а другой - для закрытия CSIS, так как это очень неудобно для тестировщиков.
Текущее решение:
ОБНОВЛЕНИЕ: Новый большой вопрос - как мне заставить '[ClassInitialize]' работать?
Дополнительные мысли:
ОБНОВЛЕНИЕ: Теперь мне просто нужно ClassInitialize для выполнения кода в начале и ClassCleanUp для выполнения кода в конце тестового набора.
Если вам нужен реальный код, дайте мне знать.
Обновление исследования:
Благодаря ответу Izcd я смог более точно найти ответ на свой вопрос.Я нашел ответ в Интернете на свою проблему.
К сожалению, я не понимаю, как реализовать его в своем коде.Я вставил код, как показано ниже в разделе «Код» этого вопроса, и тест работает нормально, за исключением того, что он выполняет функции OpenWindow () и CloseWindow () после каждого теста, а не вокруг всего набора тестов.Так что в конечном итоге код ничего нового не делает.Как это исправить?
статический приватный UIMap sharedTest = новый UIMap ();
[ClassInitialize]
static public void ClassInit(TestContext context)
{
Playback.Initialize();
try
{
sharedTest.OpenCustomerKeeper();
}
finally
{
Playback.Cleanup();
}
}
======================================================================================
Code
пространство имен CSIS_TEST {// тонна операторов 'using' здесь
public partial class UIMap
{
#region Class Initializization and Cleanup
static private UIMap sharedTest = new UIMap();
[ClassInitialize]
static public void ClassInit(TestContext context)
{
Playback.Initialize();
try
{
sharedTest.OpenWindow();
}
finally
{
Playback.Cleanup();
}
}
[ClassCleanup]
static public void ClassCleanup()
{
Playback.Initialize();
try
{
sharedTest.CloseWindow();
}
finally
{
Playback.Cleanup();
}
}
#endregion