Я пишу тест на обнаружение с помощью API-интерфейса Cocoa, поскольку я разрабатываю все, что связано с Mac. В настоящее время я пытаюсь найти лучший способ для URL-кодирования строки. Используя набор инструментов Google для Mac, у меня есть модульный тест, который я преднамеренно вызывает сбой в:
NSString* expected = @"ab%%20c";
NSString* encoded = @"ab c";
STAssertEqualStrings(expected, encoded, @"Expected [%s] actual [%s]", [expected UTF8String], [encoded UTF8String]);
и он жалуется "ab P! = Ab c" Мусор, который он сбрасывает в вывод, выбрасывает меня. Как будто знак процента не экранирован должным образом, но я знаю, что это так. Мой главный вопрос: как получить правильно сформированное сообщение об ошибке, чтобы быть уверенным, что я имею дело с яблоками, а не с апельсинами?
* обновление
Stackoverflow удалял мусор в моем оригинальном посте. Вышеуказанная ошибка предназначена для иллюстрации проблемы с сообщением об ошибке. Я обеспокоен мусором, который отображается в сообщении об ошибке, так как он точно не детализирует то, что находится в реальной строке. Ошибка говорит что-то вроде «утверждение не выполнено ab [apple-symbol] c! = Ab c», где я получаю символ яблока в сообщении вместо знака процента. На практике закодированное будет возвращением вызова метода, и я хотел бы проверить, используя сообщение об ошибке подтверждения, содержимое строки.