鼻子是unittest的延伸吗?

时间:2011-11-22 14:25:12

标签: python testing nose

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

作为旁注,py.test和鼻子有什么区别?

2 个答案:

答案 0 :(得分:8)

鼻子docs说:

  

nose提供备用测试发现和运行过程   unittest,一个旨在模仿py.test的行为的   在不诉诸太多魔法的情况下,这是合理可行的。

如果你take a peek at the code,你会看到unittest是其中一个依赖项。

import logging
import sys
import unittest

所以 - 据我所知 - 我会说鼻子是用于运行测试的 替代 ,而不是替换 em>到unittest模块(在这里玩一些语义,但我希望这很清楚)。

答案 1 :(得分:7)

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

  

nose为unittest提供了另一个测试发现和运行过程,这个过程旨在尽可能合理地模仿py.test的行为,而不需要过多的魔法

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