qt — QtTest терпит неудачу при сравнении строк, даже если они идентичны? Переполнение стека

У меня есть QtTest, который сравнивает два строковых значения:

 // This definitely returns "5/6"std::string actual_value = simple(actual);

// Sets a string to the expected value
std::string expected_value = "5/6";

а затем QCOMPARE:

QCOMPARE(QString(actual_value.c_str()), QString(expected_value.c_str()));

/* I'm Aware this could just be the code below (but this doesnt print values to
console so i can check they are actually the same)  */
QCOMPARE(actual_value, expected_value)

И я получаю сообщение об ошибке: (плохо опубликую оба, так что очевидно, что это не просто сбой QString, поэтому ниже QCOMPARE, использующий QString для отображения значений)

FAIL!  : TestFraction::testFraction() Compared values are not the same
Actual   (QString(actual_value.c_str())): 5/6

Expected (QString(expected_value.c_str())): 5/6

и это обычное сообщение об ошибке QCOMPARE:

FAIL!  : TestFraction::testFraction() Compared values are not the same

Очевидно, за этим стоит другой код, но я не публикую его сейчас, потому что я не думаю, что это особенно актуально, но спрашиваю, есть ли что-то, что вы хотите знать, насколько я понимаю, этот тест должен пройти, но, возможно, есть кое-что, чего я не знаю о сравнении строк (что-то вроде того, как сравнение удваивается, если вы не используете нечеткое сравнение)

заранее спасибо

1

Решение

Ваша фактическая строка имеет символ новой строки. Следовательно, сравнение не удается.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]