问题标签 [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 回答
46862 浏览

python - 你如何模拟一个 python 类并为每个实例化获取一个新的 Mock 对象?

好的,我知道手册
中提到了这一点,并且可能与和/或有关,​​但是一个简单直接的示例将极大地帮助我。 side_effectreturn_value

我有:

现在,我想对这个UUT类进行单元测试,并模拟ClassToPatch. 知道UUT该类将恰好实例化两个ClassToPatch对象,我希望 Mock 框架为每个实例化返回一个新的 Mock 对象,这样我以后就可以分别断言对每个对象的调用。

如何@patch在测试用例中使用装饰器来实现这一点?即,如何修复以下代码示例?

0 投票
3 回答
1013 浏览

python - 使用 PyUnit 运行所有测试用例

我记得在 JUnit 中有一种方法可以运行您创建的每个 TestCase 或仅运行选定文件中的那些。

有没有办法在 PyUnit 中实现这一点?

我可以轻松地运行我当前打开的文件中的测试,但我想要运行所有测试的选项(分布在不同的文件中)。

我见过TestSuite,但我的理解是,每次创建新的TestCase 时都需要手动将TestCase 添加到TestSuite。我希望能自动完成这个。

例如,我有以下测试用例(每个都有几种test<Method Name>方法):

如何在TestFamilyAND中运行所有测试TestFamilyMember

选择

检查鼻子测试

0 投票
2 回答
9432 浏览

python - 如果 SetUpClass 中的某些条件失败,则跳过单元测试

我正在使用pyUnit框架对我的应用程序进行单元测试测试。如果 setUpClass 中的某些条件失败,有什么方法可以跳过课堂上的所有测试?

目前,我正在 setUpClass 中设置环境(创建资源、配置全局设置)。但是,如果这些资源创建中的任何一个失败......我正在引发异常。相反,我想跳过整个测试套件。

0 投票
3 回答
853 浏览

python - 使用 pyunit 在 Python 中测试异常

我需要测试我的 python 代码是否有异常,但我似乎无法运行正确的语句。
当我测试我的生产代码时,我可以看到抛出了异常,但是当我在单元测试文件中测试这个异常时,我得到了这个:

我通读了关于 SO 的类似问题,但我只是无法为我的问题找到令人满意的答案。

生产代码如下所示:

单元测试代码是这样的:

非常感谢任何帮助。

0 投票
1 回答
1874 浏览

python - 在单元测试中分配模拟变量值

在 Python 中,我创建了一个读取网页内容并对内容进行处理的方法。

我想使用特定的 http 地址对方法进行单元测试,但我不想在生产代码中手动分配地址然后对其进行测试。所以理想情况下,我想创建某种模拟对象(使用 Mock 库),它获取我需要的 http 地址的值,以便我可以使用该值运行我的测试。

附带说明一下,测试的目的是验证我的代码是否使用测试的 http 地址引发了正确的异常。

为了说明,我要测试的代码具有以下形式:

我想在我的单元测试中使用 var1 = "wwww.somethingelse.com" 测试代码(最好使用 Mock 库)。

感谢任何帮助。

0 投票
4 回答
38574 浏览

python - 尝试实现 python TestSuite

我有两个要在测试套件中一起运行的测试用例(两个不同的文件)。我可以通过“正常”运行 python 来运行测试,但是当我选择运行 python-unit 测试时,它说 0 个测试运行。现在我只是想让至少一项测试正确运行。

这是我设置的测试用例的示例

我该怎么做才能正确完成这项工作?

0 投票
1 回答
124 浏览

python - Python客户端-服务器脚本单元测试错误

我有服务/读取一些数据的客户端和服务器脚本。

当我尝试使用 PyUnit 编写单元测试时,会出现一个我无法推理的错误。

这是相关的代码片段:

总而言之,我无法在 unittest 类中创建第二个套接字。什么可能导致此错误?

0 投票
1 回答
937 浏览

python - 使用哪个 Python 测试框架?

我有很多目录,其中有 python 文件。都是普通的python文件。我没有使用任何类型的框架。我想从一个中心位置测试这些 py 文件。我应该只触发一个命令,并且应该调用每个目录中的所有 *_test.py 文件。那么,是否有任何现成的工具或框架可以满足我的要求?

我正在寻找用于测试普通 py 文件的 PyUnit。并考虑编写一个 shell 脚本,该脚本将通过使用正则表达式来匹配文件名来调用所有这些 *_test.py 文件。

任何人都可以提出任何其他方法。随时欢迎你。

谢谢。

0 投票
1 回答
2009 浏览

python - PyUnit:如何从文件中存在的不同 unittest.TestCase 子类运行所有测试

我试图在一次运行中运行两个类中的所有方法。但是,上面的代码并没有这样做。在套件功能中,我尝试从类中添加多个测试,但这也不起作用并且出现错误。

0 投票
1 回答
2553 浏览

python - 对于unittest.TestCase子类,通过run方法执行测试用例时无法获取类属性

我想在测试方法中为类属性设置一个值,并在另一个测试方法中使用具有相同类属性的值。当我通过使用方法执行测试用例以正常方式尝试时run,得到错误为AttributeError: 'Unit' object has no attribute 'b'. 无论如何,我通过使用global变量找到了其他解决方案,并通过将类分配给变量找到了另一种解决方案。我可以知道为什么我无法检索我使用另一种方法设置的类属性的原因吗?另外,你能帮我解释一下run方法的实际过程吗?在此先感谢。

这是我尝试过的示例代码: