问题标签 [python-unittest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 让 pyunit 显示每个断言的输出
如何让 python 的 unittest 模块显示每个断言的输出,而不是在每个测试用例的第一个断言中失败?如果我能看到失败的完整模式而不仅仅是第一个,那么调试会容易得多。
在我的情况下,断言基于一个数组上的几个循环,该数组包含一个对象加上一些函数名称和预期的输出(见下文),所以没有一种明显的方法(至少对我来说)只是将每个断言分成一个单独的测试用例:
obj.__getattribute__('hello')
返回obj.hello
sonode.__getattribute__(test_state)()
是我调用 node 的成员函数的方式,它的名称存储在 test_state 变量中。
python - pyunit 的漂亮 html 报告
你知道为 pyunit 创建漂亮的 html 报告的工具吗?
python - Python unittest:如何只运行测试文件的一部分?
我有一个测试文件,其中包含需要花费大量时间的测试(它们将计算发送到集群并等待结果)。所有这些都在特定的 TestCase 类中。
由于它们需要时间而且不太可能中断,我希望能够选择这个测试子集是否运行(最好的方法是使用命令行参数,即“ ./tests.py --offline
”或其他东西像那样),所以我可以经常快速地运行大部分测试,并且在我有时间的时候不时地运行整套测试。
现在,我只是unittest.main()
用来开始测试。
python - 在网络线程上使用 pyunit
我的任务是为一套用 python 编写的网络软件编写单元测试。为消息构建器和其他静态方法编写单元非常简单,但是在为网络循环线程编写测试时我遇到了困难。
例如:它连接的服务器可以在任何端口上,我希望能够测试连接到多个端口(按顺序,而不是并行)的能力,而无需实际运行多个服务器。解决这个问题的好方法是什么?也许将服务器构建和销毁作为测试的一部分?有些东西告诉我,必须有一个更简单的答案来逃避我。
我不得不想象有一些方法可以对网络线程进行单元测试,但我似乎找不到任何方法。
python - python unittest assertRaises在assertRaises失败时抛出异常
我有代码,当 assertRaises 失败时,assertRaises 会抛出异常。我认为如果 assertRaises 失败,那么测试就会失败,最后我会得到一份报告说测试失败。我没想到会抛出异常。下面是我的代码。我做错了什么?我正在使用 Python 2.6.2。
python - 如何扩展和修改 PyUnit
我即将着手扩展和修改 PyUnit。例如,除了失败之外,我还会向它添加警告。
我有兴趣听到有关如何开始的建议,例如,子类化每个 PyUnit 类?要避免什么和其他警告。
从那些已经扩展 PyUnit 的人那里寻找输入。
python - 从 pyunit 单元测试生成测试覆盖率信息?
我有一些针对我正在编写的简单命令行程序的 pyunit 单元测试。我可以生成测试覆盖率数字吗?我想看看我的测试没有涵盖哪些行。
python - 非关键单元测试失败
我正在使用 Python 的内置unittest模块,我想编写一些不重要的测试。
我的意思是,如果我的程序通过了这样的测试,那就太好了!但是,如果它没有通过,那并不是真正的问题,程序仍然可以工作。
例如,我的程序设计为使用自定义类型“A”。如果它不能与“A”一起工作,那么它就坏了。然而,为了方便起见,它的大部分也应该与另一种类型“B”一起使用,但这不是强制性的。如果它不能与“B”一起工作,那么它不会被破坏(因为它仍然可以与“A”一起工作,这是它的主要目的)。无法使用“B”并不重要,我只会错过我可以拥有的“奖励功能”。
另一个(假设的)示例是在编写 OCR 时。该算法应该能识别出测试中的大多数图像,但如果其中一些图像失败也没关系。(不,我不是在写 OCR)
有没有办法在 unittest(或其他测试框架)中编写非关键测试?
python - 从模块运行测试
我正在尝试从我认为是一个模块的 python 中运行一些单元测试。我有一个像这样的目录结构
在 testsuite.py 我有
看起来可以开始测试,但它没有在 TestConvertNumberToString.py 中进行任何测试。在那个类中,我有一组以“test”开头的函数。
我应该怎么做才能运行 python TestSuite.py 实际上启动我在 UnitTests 中的所有测试?
python - 如何在目录中运行所有 Python 单元测试?
我有一个包含我的 Python 单元测试的目录。每个单元测试模块的格式为test_*.py。我正在尝试创建一个名为all_test.py的文件,您猜对了,它将运行上述测试表单中的所有文件并返回结果。到目前为止,我已经尝试了两种方法;两者都失败了。我将展示这两种方法,我希望有人知道如何正确地做到这一点。
对于我的第一次勇敢尝试,我想“如果我只是在文件中导入所有测试模块,然后调用这个小unittest.main()
玩意儿,它会起作用,对吗?” 好吧,事实证明我错了。
这不起作用,我得到的结果是:
不过,对于我的第二次尝试,好吧,也许我会尝试以更“手动”的方式进行整个测试。所以我试图在下面这样做:
这也不起作用,但它似乎如此接近!
我似乎有某种套件,我可以执行结果。我有点担心它说我只有run=1
,似乎应该是这样run=2
,但这是进步。但是如何将结果传递并显示给 main?或者我如何基本上让它工作,这样我就可以运行这个文件,然后运行这个目录中的所有单元测试?