问题标签 [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.

0 投票
2 回答
779 浏览

python - 即使断言失败,Pyunit 也会运行所有测试

我有一个简单的测试,如下所示:

我执行此测试的方式如下:

我得到的是,由于第二个断言失败,测试停止,我需要运行测试直到结束,并在出现断言错误时得到它们。

这背后的想法是,我将使用 crontab 在我的服务器上每 6 小时运行一次此测试,并且我打算发送一封电子邮件,其中包含测试发现的所有错误案例。

干杯!

0 投票
1 回答
129 浏览

python - 如何在 python 模块中使用相同的公共 API 对每个类进行单元测试?

我有一个模块可以解析不同的文件格式,如 CSV、XLS、HTML 等
。不同的格式包含完全相同的信息,所以我制作了不同的类来解析不同的文件类型。这些类具有完全相同的公共 API,并且显然具有相同的基类,如下所示:

一次用相同的值对每个类进行单元测试是个好主意吗?我一直在这样做:

并以这种方式定义每个单元测试:

这样做可以吗?如果是,如何使用相同的 TestCases 一次对所有这些进行单元测试

所以我想这样写单元测试:

适用于每一堂课。可能吗 ?

0 投票
1 回答
615 浏览

python - Pyunit 运行测试和构建报告

我在一个文件 test_file.py 下有一组测试。我可以像这样从控制台正常运行它:

当测试用例失败时,这会输出一个小的回溯。所以我需要做的正是。

  1. 定期运行测试,比如说在 crontab 上(我知道怎么做)
  2. 每次运行后发送电子邮件报告,为了做到这一点,我需要知道所有测试是否正常,以防其中一些失败,哪些失败以及错误是什么,就像正常的 pyunit 输出一样。

正如我上面所说,我知道如何做 cron 部分,我知道如何运行测试,但是我需要什么或者我能做些什么来完成第 2 项?

也许是一个手动运行每个测试并收集结果然后发送电子邮件的脚本?

非常感谢 !

0 投票
2 回答
3935 浏览

python - 断言通过时的Python unittest调用函数

当测试中的断言通过时,我找不到 do_something() 的方法。例如:

如果断言失败,该测试将打印“不匹配”,但在这种情况下不会,所以我试图在 self.assertEqual() 成功时调用一个函数或打印一些东西,请问有什么想法吗?

谢谢

0 投票
1 回答
4255 浏览

python - Python unittest 报告通过测试

您好,我在“test.py”下有一个如下测试模块:

这很好用,但我需要一种方法来打印通过的测试,例如我可以将输出打印到控制台:

现在变了,我可以在 self.assertEqual() 之后添加一个打印语句,这将是一个通过的测试,我可以打印它,但我需要从不同的模块运行测试,比如说“test_reporter.py " 我有这样的东西:

在这一点上,结果是我建立报告的时候。

所以欢迎任何建议

谢谢 !!

0 投票
0 回答
542 浏览

python - 如何在测试用例中一次运行所有这些方法并使用 HTMLTestRunner 生成报告?

我有这样的 Python Unittest:

HTMLTestRunner用来生成报告。这段代码一切正常,除了我想要报告类中的每个方法AddEmployer。我只能得到 openURL 方法的报告,因为我已经调用了:

我希望类AddEmployer的每个方法在同一个驱动程序上同时执行。我会尝试调用suite.addTest每种方法,但它不起作用。我怎样才能做到这一点?

0 投票
1 回答
2508 浏览

python - 如何用鼻子测试命令行脚本?

我在“bin”目录中创建了一个带有一些命令行脚本的 Python 库(这样在使用setup.py安装时会将其安装到“bin”中pip)。由于这不是 Python 模块,我无法弄清楚如何用鼻子测试它。

如何使用nose/测试属于库的命令行脚本unittest

0 投票
4 回答
10455 浏览

python - 是否可以在 python 的单元测试中跳过 setUp() 进行特定测试?

当我创建一个unittest.TestCase时,我可以定义一个setUp()函数,该函数将在该测试用例中的每个测试之前运行。是否可以跳过setUp()单个特定测试?

想要跳过setUp()给定的测试可能不是一个好习惯。我对单元测试相当陌生,欢迎任何有关该主题的建议。

0 投票
2 回答
733 浏览

python - 从超级调用所有子类方法?

我目前正在为我公司的构建脚本实施一些单元测试。为了消除臃肿并使其更容易实现新测试,我让我的所有测试类都继承自一个名为的自定义子类,该子类BasicTest继承自 PyUnit 的 TestCase。

目前所有测试都使用两个函数BasicTest:构造函数(尽管它显然可能在将来被覆盖)和runTest()方法,如果没有传入值,超级构造函数使用的默认方法名称(例如BasicTest(),将创建一个测试这将runTest()在被调用时执行该方法,而BasicTest('Foo')将使用该Foo()方法)。

我想runTest()从调用它的继承对象中简单地运行所有可能的测试。但是,由于runTest()仅在子类中定义BasicTest并由子类继承,我正在寻找一种方法来动态地从父类中调用所有子类的方法。我知道这违反了面向对象编程的规则,但据我所知,Python 从一开始就不是遵循规则的:)

为清楚起见,以下说明了我的意图:

我想runTest()从子类对象中调用并且只处理该对象的方法。假设SubclassTest()有方法TestParse()TestExec(). 我想要这样:

运行TestParse()and TestExec(),但我希望在不被覆盖的情况下runTest()定义和继承该方法。BasicTest

0 投票
3 回答
55748 浏览

python - 以漂亮的表格形式显示 python unittest 结果

我正在编写一个 Pythonic 工具来验证某个系统的正确性。每个验证都编写为 Python unittest,报告如下所示:

在我看来,这种格式很难阅读,尤其是对于非 Python 爱好者。是否有任何报告生成器可以以漂亮的表格形式生成报告,例如:

澄清测试套件在远程终端上运行,所以我更喜欢命令行报告工具。