【问题标题】:Is nose an extension of unittest?鼻子是单元测试的延伸吗?
【发布时间】:2011-11-22 14:25:12
【问题描述】:

我将在我相当大的项目中使用nose 作为我已经实现的单元测试类的测试发现方法。我的印象是,nose 主要用于测试发现和测试运行(也是并行的)。但我看到this question 好像鼻子是单元测试的替代品。有人可以澄清他们在这里的意思吗?我错过了鼻子提供的一些核心功能吗?

顺便说一句,py.test 和nose 有什么区别?

【问题讨论】:

  • 从 Python 2.7 开始,unittest 也提供发现功能,所以如果这是您的目标,您可以使用 stdlib 来完成

标签: python testing nose


【解决方案1】:

鼻子的docs说:

nose 提供 alternate 测试发现和运行过程 unittest,旨在模仿 py.test 的行为 在不诉诸太多魔法的情况下尽可能合理地做到这一点。

如果您take a peek at the code,您将看到 unittest 是依赖项之一。

import logging
import sys
import unittest

所以 - 据我所知 - 我会说鼻子是运行测试的一个插入式替代,但不是替代 em> 到 unittest 模块(在这里玩一下语义,但我希望这足够清楚)。

【讨论】:

    【解决方案2】:

    鼻子模仿 py.test 的行为。这就是他们在website 上所说的:

    nose 为 unittest 提供了另一种测试发现和运行过程,旨在尽可能多地模仿 py.test 的行为,而无需使用太多魔法

    Nose 是 unittest 的扩展,并添加了问题 https://stackoverflow.com/questions/5696884/python-nose-vs-unittest 中列出的功能。

    【讨论】:

    • 这似乎是合理的。鼻子当然是基于单元测试的。它继承并替换了 unittest 加载器和运行器,并从根本上扩展了它们的功能。
    猜你喜欢
    • 2012-10-09
    • 2011-06-10
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多