Повысьте управляемый данными тестовый вывод: «Утверждение произошло в следующем контексте» - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть вопрос, касающийся вывода следующего минимального примера, использующего тест Boost.

#define BOOST_TEST_MODULE ExampleTestSuite
#include <boost/test/included/unit_test.hpp>

#include <boost/test/unit_test.hpp>
using boost::unit_test::test_suite;
using boost::unit_test::framework::master_test_suite;

#include <boost/test/data/test_case.hpp>
namespace bdata = boost::unit_test::data;

BOOST_DATA_TEST_CASE(ExampleTest, bdata::xrange(2), testDatum) {

    int exp = testDatum == 0 ? 0 : 1;

    BOOST_CHECK_EQUAL(testDatum, exp);
}

Если я запускаю этот тест с ./boost_testing --log_level=all, я получаю следующий вывод:

Running 2 test cases...
Entering test module "ExampleTestSuite"
boost_testing.cpp(11): Entering test suite "ExampleTest"
boost_testing.cpp(11): Entering test case "_0"
boost_testing.cpp(15): info: check testDatum == exp has passed
Assertion occurred in a following context:
    testDatum = 0;
boost_testing.cpp(11): Leaving test case "_0"
boost_testing.cpp(11): Entering test case "_1"
boost_testing.cpp(15): info: check testDatum == exp has passed
Assertion occurred in a following context:
    testDatum = 1;
boost_testing.cpp(11): Leaving test case "_1"
boost_testing.cpp(11): Leaving test suite "ExampleTest"
Leaving test module "ExampleTestSuite"

*** No errors detected

Что означает строка вывода Assertion occurred in a following context: testDatum = 0;?Указывает ли это на проблему, связанную с тем, как я настроил управляемый данными тестовый пример, или я могу безопасно проигнорировать ее?

1 Ответ

0 голосов
/ 01 марта 2019

Я согласен, что сообщение сбивает с толку: на самом деле это описание контекста утверждения для теста BOOST_CHECK_EQUAL(testDatum, exp), и на самом деле это не описание ошибки, а контекст, связанный с проверкой.Если вы измените --log_level=all на что-то другое или у вас будет другой выходной формат, это должно исчезнуть.

Не стесняйтесь поднимать вопрос о Boost.Test project

...