【问题标题】:Python unittest philosophy and orderingPython 单元测试哲学和排序
【发布时间】:2023-04-06 03:39:02
【问题描述】:

虽然单元测试的理念是测试可以按任何顺序运行并且它应该通过,但如果您正在实现一个没有其他方式与服务器通信的 API 怎么办......并且您需要测试某个特定的非常基本的功能(如删除)才能执行更复杂的任务?那么订购测试是否合理?

如果是这样,我该如何使用 pythonunittest 模块呢?

【问题讨论】:

  • stackoverflow.com/questions/4095319/unittest-tests-order 中的 Elmar 似乎给出了答案。
  • 澄清一下:你是说你想先运行删除测试,因为如果它失败了就没有必要运行其他测试了?
  • 即使第一个测试失败了,后面的 delete 测试仍然会运行,那么问题是什么?
  • 概括地说,“如果您的单元测试依赖于外部服务或其他单元测试,那么它们就不是单元测试。”听起来有点教条。但这是一个很大的危险信号。如果您正在测试服务本身的复杂依赖语义,那么您可能希望将所有这些“步骤”封装在一个测试中。但这变成了协议测试。单元测试真的应该是独立的。
  • @ultimatebuster:您在这里尝试做的是某种集成测试,而不是单元测试。

标签:
python
unit-testing