Перейти к содержимому

Аудит и оптимизация QA-процессов
онлайн, начало 24 декабря
Автоматизация функционального тестирования
онлайн, начало 27 ноября
Логи как инструмент тестировщика
онлайн, начало 30 ноября
Тестирование REST API
онлайн, начало 30 ноября
Фотография

Visual Studio Test пара вопросов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 tab15

tab15

    Активный участник

  • Members
  • PipPip
  • 128 сообщений

Отправлено 05 февраля 2014 - 13:48

Здравствуйте.

 

При написании тестов при помощи Visual Studio Test Framework возникло пару вопросов:

 

1. Есть ли в VS какой-нибудь стандартный класс типа ErrorCollector в jUnit? Необходимо, что бы тест записал информацию об ошибке, а тестирование продолжалось дальше. Стандартные Assert'ы, разумеется, тест останавливают после ошибки.

2. Есть ли возможность выписвыать информацию в консоль. Стандартный Debug.WriteLine() и Trace.WriteLine() не совсем подходят, т.к. тесты запускаются на удаленном сервере при помощи Jenkins, а каждый раз заглядывать в .trx не совсем удобно.

 

Заранее спасибо.


  • 0

#2 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 05 февраля 2014 - 14:32

1. Не встречал. Всегда легко написать собственный коллектор, который будет обнуляться в [TestInitialize], а в конце теста будет один Assert в зависимости от количества накопленных ошибок. Сами ошибки можно выдавать в текстовый лог с оформлением, по которому их легко находить.

2. Вывод в консоль (в т. ч. через System.Console) весь перенаправляется в .trx.

Не совсем понятно, почему тесты на удаленных машинах должны писать результаты в консоль. Можно прикрутить вывод в любой файлик.

 

Например:

public class Log
{
    static int errorCounter;
    static List<TextWriter> loggers = new List<TextWriter>(); // сюда можно добавить хоть консоль, хоть файловые стримы
    
    // ...

    public static Error(string errorText)
    {
        errorCounter++;
        postToAllLoggers(errorText);
    }

    // ...
}

  • 1

#3 tab15

tab15

    Активный участник

  • Members
  • PipPip
  • 128 сообщений

Отправлено 06 февраля 2014 - 08:46

 

1. Не встречал. Всегда легко написать собственный коллектор, который будет обнуляться в [TestInitialize], а в конце теста будет один Assert в зависимости от количества накопленных ошибок. Сами ошибки можно выдавать в текстовый лог с оформлением, по которому их легко находить.

2. Вывод в консоль (в т. ч. через System.Console) весь перенаправляется в .trx.

Не совсем понятно, почему тесты на удаленных машинах должны писать результаты в консоль. Можно прикрутить вывод в любой файлик.

Спасибо за ответ.

На счет 1. так и собираюсь поступить. Просто хотелось узнать не буду ли изобретать велосипед

2. Это для удобства. В Jenkins, просто немного удобнее бы было открыть тест который не прошел, тут же посмотреть stacktrace и что нибудь из консоли. Но ничего придется так справлятся :)


  • 0




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале