代码之家  ›  专栏  ›  技术社区  ›  Ben Harrison

对于Python单元测试,除了“通过”或“失败”之外,还有其他结果吗?

  •  1
  • Ben Harrison  · 技术社区  · 8 年前

    我正在编写具有数据库依赖性的单元测试(所以从技术上讲,它们是功能测试)。通常,这些测试不仅依赖于数据库的活动性和功能性,还可以依赖于某些可用的数据。

    例如,在一个测试中,我可能会查询数据库以检索我将用于测试更新或删除功能的示例数据。如果数据不存在,那么在这种情况下,这并不完全是一个失败。我只关心更新或删除的通过/失败状态,在这种情况下,我们甚至没有进行足够的测试。所以我不想给出假阳性或假阴性。

    有没有一种优雅的方法让单元测试返回第三个可能的结果?比如警告?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Community CDub    8 年前

    总的来说,我认为 Paul Becotte

    但这是一个失败-您的测试未能在中设置系统 这次考试不及格没关系”就是说你不在乎 关于您正在测试的功能是否有效。进行测试 在检索数据之前立即可靠地插入数据,这将 让您更好地了解系统的状态。

    然而,在我的特殊情况下,我正在编写一个功能测试,它依赖于多个流程生成和操作的数据。在测试开始时快速生成它是不现实的(至少现在是这样)。

    我最终发现,在使用skipTest时,它可以发挥作用,如下所述:

    Skip unittest if some-condition in SetUpClass fails