区块链技术博客
www.b2bchain.cn

WWDC20 10687 – 使用 XCTIssue 分析诊断测试失败问题求职学习资料

本文介绍了WWDC20 10687 – 使用 XCTIssue 分析诊断测试失败问题求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

当我们遇到测试失败问题时候,需要问自己四个问题,也就是经典的 3W1H 问题 (What, How, Why, Where)。Xcode 12 引入了新的 API 和一些 UI 改进来让我们回答这些问题更加容易。
这个 session 主要分为四个部分:

  • 测试中的Swift 错误
  • 更加丰富的失败信息
  • 调用栈
  • 高级工作流

测试中的 Swift 错误

1. UI 提示增强

在 Xcode 12 中,如果看到灰色提示,代表错误并不是发生在当前这一行,而是需要继续下钻直到看到红色错误标记。如下图 try runTest(for: view) 是灰色,所以我们知道错误并不在此,需要下钻寻找真正的错误行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
具体怎么下钻呢?我们可以在左侧导航区可以看到详细的调用栈,和代码调试调用栈一样,这个调用顺序是由下往上,一般点击第一行,找到代码被标记为红色的地方,就是真正发生错误的代码行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
是不是很酷!这样可以帮助我们快速定位到具体哪里出错,大大节约了时间。

另一个查看调用栈的地方就是测试报告这里,点击导航区这一排最右边的按钮,可以看到测试报告,在右侧可以看到调用栈。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题

2. 抛出异常可以提示代码行

以前,在方法内抛出异常是没有办法知道是哪一行代码出错的,所以工程师往往会手动捕获异常错误再调用 XCTFail 变通实现。如下面两张图所示。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
随着 Swift 运行时的改进,在 iOS 和 tvOS 13.4,macOS 10.15.4 里面开始支持抛出异常时就能自动定位到错误发生的文件和代码行。除此之外,还增加了两个新的方法 setupWithError() throw 以及 tearDownWithError()setupWithError() 是在 setup() 之前调用,tearDownWithError() 是在 tearDown() 之后调用。可以新旧方法同时使用,但是更建议用这两个新方法直接代替旧方法,保留旧方法最主要的目的是让历史代码能正常运行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题

更加丰富的失败信息

当我们遇到测试失败问题时候,需要问自己四个问题,也就是经典的 3W1H 问题 (What, How, Why, Where)。Xcode 12 引入了新的 API 和一些 UI 改进来让我们回答这些问题更加容易。
这个 session 主要分为四个部分:

  • 测试中的Swift 错误
  • 更加丰富的失败信息
  • 调用栈
  • 高级工作流

测试中的 Swift 错误

1. UI 提示增强

在 Xcode 12 中,如果看到灰色提示,代表错误并不是发生在当前这一行,而是需要继续下钻直到看到红色错误标记。如下图 try runTest(for: view) 是灰色,所以我们知道错误并不在此,需要下钻寻找真正的错误行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
具体怎么下钻呢?我们可以在左侧导航区可以看到详细的调用栈,和代码调试调用栈一样,这个调用顺序是由下往上,一般点击第一行,找到代码被标记为红色的地方,就是真正发生错误的代码行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
是不是很酷!这样可以帮助我们快速定位到具体哪里出错,大大节约了时间。

另一个查看调用栈的地方就是测试报告这里,点击导航区这一排最右边的按钮,可以看到测试报告,在右侧可以看到调用栈。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题

2. 抛出异常可以提示代码行

以前,在方法内抛出异常是没有办法知道是哪一行代码出错的,所以工程师往往会手动捕获异常错误再调用 XCTFail 变通实现。如下面两张图所示。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
随着 Swift 运行时的改进,在 iOS 和 tvOS 13.4,macOS 10.15.4 里面开始支持抛出异常时就能自动定位到错误发生的文件和代码行。除此之外,还增加了两个新的方法 setupWithError() throw 以及 tearDownWithError()setupWithError() 是在 setup() 之前调用,tearDownWithError() 是在 tearDown() 之后调用。可以新旧方法同时使用,但是更建议用这两个新方法直接代替旧方法,保留旧方法最主要的目的是让历史代码能正常运行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题

更加丰富的失败信息

当我们遇到测试失败问题时候,需要问自己四个问题,也就是经典的 3W1H 问题 (What, How, Why, Where)。Xcode 12 引入了新的 API 和一些 UI 改进来让我们回答这些问题更加容易。
这个 session 主要分为四个部分:

  • 测试中的Swift 错误
  • 更加丰富的失败信息
  • 调用栈
  • 高级工作流

测试中的 Swift 错误

1. UI 提示增强

在 Xcode 12 中,如果看到灰色提示,代表错误并不是发生在当前这一行,而是需要继续下钻直到看到红色错误标记。如下图 try runTest(for: view) 是灰色,所以我们知道错误并不在此,需要下钻寻找真正的错误行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
具体怎么下钻呢?我们可以在左侧导航区可以看到详细的调用栈,和代码调试调用栈一样,这个调用顺序是由下往上,一般点击第一行,找到代码被标记为红色的地方,就是真正发生错误的代码行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
是不是很酷!这样可以帮助我们快速定位到具体哪里出错,大大节约了时间。

另一个查看调用栈的地方就是测试报告这里,点击导航区这一排最右边的按钮,可以看到测试报告,在右侧可以看到调用栈。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题

2. 抛出异常可以提示代码行

以前,在方法内抛出异常是没有办法知道是哪一行代码出错的,所以工程师往往会手动捕获异常错误再调用 XCTFail 变通实现。如下面两张图所示。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题
随着 Swift 运行时的改进,在 iOS 和 tvOS 13.4,macOS 10.15.4 里面开始支持抛出异常时就能自动定位到错误发生的文件和代码行。除此之外,还增加了两个新的方法 setupWithError() throw 以及 tearDownWithError()setupWithError() 是在 setup() 之前调用,tearDownWithError() 是在 tearDown() 之后调用。可以新旧方法同时使用,但是更建议用这两个新方法直接代替旧方法,保留旧方法最主要的目的是让历史代码能正常运行。
WWDC20 10687 - 使用 XCTIssue 分析诊断测试失败问题

更加丰富的失败信息

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » WWDC20 10687 – 使用 XCTIssue 分析诊断测试失败问题求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们