- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在针对 Cocoa API 编写一个发现测试,因为我正在学习所有与 Mac 相关的东西。我目前正在尝试寻找对字符串进行 URL 编码的最佳方法。使用适用于 Mac 的 Google 工具箱,我有一个单元测试,故意导致失败:
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”,其中我在消息中得到一个苹果字符而不是百分号。在实践中,编码将是方法调用的返回,我想使用断言失败消息检查字符串的内容。
最佳答案
您混淆了反斜杠转义(在编译时应用)和百分号转义(通过类似 printf 的函数和方法应用于格式化字符串)。由于 expected
没有被这样的函数处理,因此百分号不会转义任何内容。
也就是说,除非 StackOverflow 破坏了您的消息,否则百分号应该出现在“ab%%c != ab c”中。
关于objective-c - STAssertEqualStrings 中的转义序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/260214/
我正在针对 Cocoa API 编写一个发现测试,因为我正在学习所有与 Mac 相关的东西。我目前正在尝试寻找对字符串进行 URL 编码的最佳方法。使用适用于 Mac 的 Google 工具箱,我有一
我是一名优秀的程序员,十分优秀!