Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class unit_test_log_formatter

Boost , Boost.Test , Header <boost/test/unit_test_log_formatter.hpp>

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class unit_test_log_formatter

boost::unit_test::unit_test_log_formatter — Abstract Unit Test Framework log formatter interface.

Synopsis

// In header: <boost/test/unit_test_log_formatter.hpp>

class unit_test_log_formatter {
public:
  // Types of log entries (messages written into a log) 
  enum log_entry_types { BOOST_UTL_ET_INFO, BOOST_UTL_ET_MESSAGE, 
                         BOOST_UTL_ET_WARNING, BOOST_UTL_ET_ERROR, 
                         BOOST_UTL_ET_FATAL_ERROR };
  // construct/copy/destruct
  unit_test_log_formatter();
  ~unit_test_log_formatter();
  // public member functions
  virtual void log_start(std::ostream &, counter_t) = 0;
  virtual void log_finish(std::ostream &) = 0;
  virtual void log_build_info(std::ostream &) = 0;
  virtual void test_unit_start(std::ostream &, test_unit const &) = 0;
  virtual void 
  test_unit_finish(std::ostream &, test_unit const &, unsigned long) = 0;
  virtual void 
  test_unit_skipped(std::ostream &, test_unit const &, const_string);
  virtual void test_unit_skipped(std::ostream &, test_unit const &);
  virtual void test_unit_aborted(std::ostream &, test_unit const &);
  virtual void 
  log_exception_start(std::ostream &, log_checkpoint_data const &, 
                      execution_exception const &) = 0;
  virtual void log_exception_finish(std::ostream &) = 0;
  virtual void 
  log_entry_start(std::ostream &, log_entry_data const &, log_entry_types) = 0;
  virtual void log_entry_value(std::ostream &, const_string) = 0;
  virtual void log_entry_value(std::ostream &, lazy_ostream const &);
  virtual void log_entry_finish(std::ostream &) = 0;
  virtual void entry_context_start(std::ostream &, log_level) = 0;
  virtual void log_entry_context(std::ostream &, const_string) = 0;
  virtual void entry_context_finish(std::ostream &) = 0;
  virtual void set_log_level(log_level);
  virtual log_level get_log_level() const;
  virtual std::string get_default_stream_description() const;
};

Description

Во время выполнения тестового модуля Unit Test Framework может сообщать сообщения об успехе или неудаче утверждений, какие наборы тестов запускаются и многое другое (в частности, какие сообщения сообщаются, зависит от порога уровня журнала, выбранного пользователем).

Все эти сообщения составляют журнал Unit Test Framework. Существует множество способов (форматов) представления этих сообщений пользователю.

Повышаю. Тест поставляется с тремя форматами:

  • Формат журнала, подобный компилятору: предназначен для потребления человеком/диагностики

  • Формат журнала на основе XML: предназначен для обработки автоматизированными регрессионными тест-системами.

  • Формат журнала на основе JUNIT: предназначен для обработки автоматизированными регрессионными тест-системами.

Если вы хотите создать какой-то другой формат, вам нужно реализовать класс с конкретным интерфейсом и использовать методunit_test_log_t::set_formatter.во время инициализации тестового модуля для установки активного форматировщика. Классunit_test_log_formatterОпределяет этот интерфейс.

Этот интерфейс требует от вас форматировать все возможные сообщения, создаваемые в журнале. К ним относятся сообщения об ошибках в несостоявшихся утверждениях, сообщения о пойманных исключениях и информационные сообщения о запускаемых/завершенных тестовых блоках. Все методы в этом интерфейсе используют ссылку на стандартный поток в качестве первого аргумента. Именно туда должны быть направлены последние сообщения. Также вам предоставляется вся информация, необходимая для создания сообщения.

С момента повышения 1.62: 

  • Каждый формататор может указывать выходной поток по умолчанию. Это удобно, например, для потоков, предназначенных для автоматизированной обработки, которые указывают на файл. См.get_default_stream_descriptionдля более подробной информации.

  • Каждый формататор может управлять своим собственным уровнем журнала через getter/setterget_log_levelиset_log_level.

Смотрите также:

unit_test_log_formatter public construct/copy/destruct

  1. unit_test_log_formatter();
    Конструктор.
  2. ~unit_test_log_formatter;

unit_test_log_formatter public member functions

  1. virtual void log_start(std::ostream & os, counter_t test_cases_amount) = 0;
    Invoked at the beginning of test module execution.

    Смотрите также:

    log_finish

    Параметры:

    os

    output stream to write a messages to

    test_cases_amount

    total test case amount to be run

  2. virtual void log_finish(std::ostream & os) = 0;
    Invoked at the end of test module execution.

    Смотрите также:

    log_start

    Параметры:

    os

    выходной поток для записи сообщений в

  3. os

output stream для записи сообщений в

Параметры:

os

выходной поток для записи сообщений в

[ORIG_END] -->
  • virtual void test_unit_start(std::ostream & os, test_unit const & tu) = 0;
    Invoked when test unit starts (either test suite or test case)

    Смотрите также:

    test_unit_finish

    Параметры:

    os

    выходной поток для записи сообщений в

    tu

    test unit being started

  • virtual void 
    test_unit_finish(std::ostream & os, test_unit const & tu, 
                     unsigned long elapsed) = 0;
    Invoked when test unit finishes.

    Смотрите также:

    test_unit_start

    Параметры:

    elapsed

    time in microseconds spend executing this test unit

    os

    выходной поток для записи сообщений в

    tu

    test unit being finished

  • virtual void 
    test_unit_skipped(std::ostream & os, test_unit const & tu, 
                      const_string reason);
    Invoked if test unit skipped for any reason.

    Параметры:

    os

    выходной поток для записи сообщений в

    reason

    explanation why was it skipped

    tu

    skipped test unit

  • виртуальныйvoidtest_unit_skippedstd::ostream&os,test_unitconst&tu;
    Устаревшая версия этого интерфейса.
  • virtualvoidtest_unit_aborted(std::ostream&os,test_unitconst&tu);
    Называется, когда испытательный блок прерывается.
  • виртуальныйпустотаlog_ Exception_startstd::ostream&os,log_checkpoint_dataconst&lcd,execution_ Exceptionconst&ex=0;
    Называется, когда Unit Test Framework обнаруживает непойманное исключение.

    Фрамворк называет эту функцию, когда обнаруживается непойманное исключение. За этим вызовом следует контекстная информация:

    Регистрация информации об исключении завершается вызовомlog_ Exception_finish.

    Смотрите также:

    log_exception_finish

    Параметры:

    ex

    Информация о пойманном исключении

    lcd

    информация о последнем контрольно-пропускном пункте до срабатывания исключения

    os

    выходной поток для записи сообщений в

  • virtual void log_exception_finish(std::ostream & os) = 0;
    Invoked when Unit Test Framework detects uncaught exception.

    Call to this function finishes uncaught exception report.

    Смотрите также:

    log_exception_start

    Параметры:

    os

    выходной поток для записи сообщений в

  • virtual void 
    log_entry_start(std::ostream & os, log_entry_data const & led, 
                    log_entry_types let) = 0;
    Invoked by Unit Test Framework to start new log entry.

    Call to this function starts new log entry. It is followed by series of log_entry_value calls and finally call to log_entry_finish. A log entry may consist of one or more values being reported. Some of these values will be plain strings, while others can be complicated expressions in a form of "lazy" expression template lazy_ostream.

    Смотрите также:

    log_entry_value, log_entry_finish

    [Note]Note

    call to this function may happen before any call to test_unit_start or all calls to test_unit_finish as the framework might log errors raised during global initialization/shutdown.

    Параметры:

    led

    log entry attributes

    let

    log entry type log_entry_finish

    os

    выходной поток для записи сообщений в

  • virtual void log_entry_value(std::ostream & os, const_string value) = 0;
    Invoked by Unit Test Framework to report a log entry content.

    This is one of two overloaded methods to report log entry content. This one is used to report plain string value.

    Смотрите также:

    log_entry_start, log_entry_finish

    Параметры:

    os

    output stream to write a messages into.

    value

    log entry string value

  • virtual void log_entry_value(std::ostream & os, lazy_ostream const & value);
    Invoked by Unit Test Framework to report a log entry content.

    This is one of two overloaded methods to report log entry content. This one is used to report some complicated expression passed as an expression template lazy_ostream. In most cases default implementation provided by the framework should work as is (it just converts the lazy expression into a string.

    Смотрите также:

    log_entry_start, log_entry_finish

    Параметры:

    os

    выходной поток для записи сообщений в

    value

    log entry "lazy" value

  • virtual void log_entry_finish(std::ostream & os) = 0;
    Invoked by Unit Test Framework to finish a log entry report.

    Смотрите также:

    log_entry_start, log_entry_start

    Параметры:

    os

    выходной поток для записи сообщений в

  • os

    output stream для записи сообщений в

    Смотрите также:

    log_entry_context, entry_context_finish

    Параметры:

    l

    entry log_level, to be used to fine tune the message

    os

    выходной поток для записи сообщений в

    [ORIG_END] -->
  • os

    output stream для записи сообщений в

    value

    контекстное описание «скопа»

    Смотрите также:

    log_entry_start, entry_context_finish

    Параметры:

    os

    выходной поток для записи сообщений в

    value

    context "scope" description

    [ORIG_END] -->
  • virtual void entry_context_finish(std::ostream & os) = 0;
    Invoked by Unit Test Framework to finish log entry context report.

    Смотрите также:

    log_entry_start, entry_context_context

    Параметры:

    os

    выходной поток для записи сообщений в

  • виртуальныйпустотаset_log_levellog_levelновый_log_level;
    Устанавливает уровень журнала регистратора/формата.

    Некоторым лесозаготовителям необходимо самостоятельно управлять уровнем бревен. Эта функция позволяет реализации решить эту проблему.

    С момента подъема 1.62. 

  • virtuallog_levelget_log_level()const;
    Возвращает уровень журнала регистратора/формата.

    С момента подъема 1.62. 

  • виртуальныйstd::строкаget_default_stream_descriptionconst;
    Возвращает поток по умолчанию для этого регистратора.

    Возвращенная строка описывает поток так, как если бы он был передан из параметра командной строки«--log_sink». В этом отношенииstdoutиstderrимеют особое значение, указывающее стандартный выходной поток или поток ошибок соответственно.

    С момента подъема 1.62. 


  • PrevUpHomeNext

    Статья Class unit_test_log_formatter раздела Boost.Test Header <boost/test/unit_test_log_formatter.hpp> может быть полезна для разработчиков на c++ и boost.




    Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



    :: Главная :: Header <boost/test/unit_test_log_formatter.hpp> ::


    реклама


    ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
    Top.Mail.Ru

    Время компиляции файла: 2024-08-30 11:47:00
    2025-05-20 02:36:34/0.02577805519104/1