![]() |
1
15
关于这个问题,审判有两件重要的事情。 首先,如果一个测试方法在运行时记录了一个失败,那么它将不会通过。由于故障结果而被垃圾收集的延迟会导致记录故障。 其次,如果延迟的触发失败,则返回延迟的测试方法将不会通过。 这意味着这些测试都不能通过:
这一点很重要,因为第一种情况,即延迟被垃圾收集并产生故障结果,意味着发生了一个没有人处理的错误。这有点类似于当异常到达程序的顶层时,Python报告堆栈跟踪的方式。 同样,第二个案件是由审判提供的安全网。如果同步测试方法引发异常,则测试不会通过。因此,如果一个测试方法返回一个延迟,则延迟的测试必须有一个成功的结果才能通过。 不过,有一些工具可以处理每一种情况。毕竟,如果你不能通过一个API的测试,而这个API返回了一个延迟的、有时会因失败而触发的测试,那么你就永远无法测试你的错误代码。那将是一个非常可悲的情况。:)
因此,处理这一问题的两个工具中更有用的是
这个测试将通过,因为
接下来,有
这允许您检查记录的故障,以确保日志代码正常工作。它还告诉Trial不要担心你冲洗过的东西,这样它们就不会再导致测试失败。(The
此外,由于垃圾收集几乎可以在任何时候发生,您有时可能会发现您的某个测试失败,因为错误是由
早期的
测试是在以后的测试执行期间被垃圾收集的。这通常意味着您的错误处理代码在某种程度上是不完整的——您缺少了一个errback,或者您未能在某个地方将两个延迟链接在一起,或者您让测试方法在它开始的任务实际完成之前完成——但是报告错误的方式有时会使跟踪有问题的代码变得困难。试用
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |