【发布时间】:2023-04-06 03:39:02
【问题描述】:
虽然单元测试的理念是测试可以按任何顺序运行并且它应该通过,但如果您正在实现一个没有其他方式与服务器通信的 API 怎么办......并且您需要测试某个特定的非常基本的功能(如删除)才能执行更复杂的任务?那么订购测试是否合理?
如果是这样,我该如何使用 python 的unittest
模块呢?
【问题讨论】:
-
stackoverflow.com/questions/4095319/unittest-tests-order 中的 Elmar 似乎给出了答案。
-
澄清一下:你是说你想先运行删除测试,因为如果它失败了就没有必要运行其他测试了?
-
即使第一个测试失败了,后面的 delete 测试仍然会运行,那么问题是什么?
-
概括地说,“如果您的单元测试依赖于外部服务或其他单元测试,那么它们就不是单元测试。”听起来有点教条。但这是一个很大的危险信号。如果您正在测试服务本身的复杂依赖语义,那么您可能希望将所有这些“步骤”封装在一个测试中。但这变成了协议测试。单元测试真的应该是独立的。
-
@ultimatebuster:您在这里尝试做的是某种集成测试,而不是单元测试。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 单元测试哲学和排序 - Python技术站