Je suis en train d'écrire un test de découverte contre l'API Cocoa alors que j'accélère toutes les choses liées à Mac. J'essaie actuellement de découvrir la meilleure méthode pour encoder une chaîne de caractères. Utilisation de la boîte à outils Google pour Mac J'ai un test unitaire que je intentionnellement origine d'une défaillance:Séquences d'échappement dans STAssertEqualStrings
NSString* expected = @"ab%%20c";
NSString* encoded = @"ab c";
STAssertEqualStrings(expected, encoded, @"Expected [%s] actual [%s]", [expected UTF8String], [encoded UTF8String]);
et se plaint « ab P = ab c! » Les ordures qu'elle déverse dans la sortie me lancer. C'est comme si le signe de pourcentage n'était pas correctement échappé mais je sais que c'est le cas. Ma question principale est comment puis-je obtenir un message d'erreur correctement formé afin que je puisse être sûr que j'ai affaire à des pommes plutôt qu'à des oranges?
* mise à jour Stackoverflow supprimait les déchets dans mon message d'origine. L'échec ci-dessus est intentionnel pour illustrer un problème avec le message d'échec. Je suis préoccupé par la poubelle qui apparaît dans le message d'échec car il ne nettoie pas clairement ce qui est dans la chaîne actuelle. L'échec dit quelque chose comme "l'assertion a échoué ab [pomme-symbole] c! = Ab c" où j'obtiens un caractère de pomme dans le message au lieu d'un signe de pourcentage. En pratique, codé serait le retour d'un appel de méthode et je voudrais inspecter, en utilisant le message d'échec d'assertion, le contenu de la chaîne.
Je ne suis pas sûr de comprendre la question. L'attendu ne correspond pas à l'encodé, donc l'assertion échoue. On dirait que ça fonctionne correctement. Ou est-ce que je manque quelque chose? –
Voir les mises à jour ci-dessus pour plus de clarté. – Cliff
Avez-vous trouvé une solution? – JoePasq