nose是unittest的扩展吗?

7 投票
2 回答
2111 浏览
提问于 2025-04-17 06:51

我准备在我的一个比较大的项目中,使用nose来发现已经实现的unittest类的测试。我原以为nose主要就是用来发现测试和运行测试(还可以并行运行)。但是我看到这个问题,好像说nose可以替代unittest。有人能解释一下这是什么意思吗?我是不是漏掉了nose提供的一些重要功能?

顺便问一下,py.test和nose有什么区别?

2 个回答

8

Nose的功能和py.test很像。他们在自己的网站上是这么说的:

nose提供了一种替代的测试发现和运行方式,旨在尽可能地模仿py.test的行为,而不需要使用太多复杂的技巧。

Nose是unittest的一个扩展,它增加了在这个链接中列出的功能。

9

nose的文档上说:

nose提供了一种替代的测试发现和运行方式,旨在尽可能模仿py.test的行为,但不会使用太多复杂的技巧。

如果你看看代码,你会发现unittest是它的一个依赖。

import logging
import sys
import unittest

所以,按照我所了解的,我可以说nose是一个可以直接使用的替代品来运行测试,但并不是unittest模块的替代品(这里稍微玩一下词义,但我希望这样说足够清楚)。

撰写回答