首页 > TAG信息列表 > python-unittest

python-覆盖率显示的Django测试百分比太低

我目前正在使用一些api-unit-tests测试我的django(2.1.0)应用程序.我使用django rest框架(3.9.0)建立了一个登录名.为此,我使用如下代码: class LogoutTest(APITestCase): def test_login_post_unauth(self): response = requests.post('http://127.0.0.1:8000/myapp/u

在python中进行单元测试元类和内部类

我通常按​​课程进行单元测试,这没有问题.但是,在弄乱了python之后,我遇到了其他语言,元类和内部类中从未遇到过的问题. 假设我有一个包含内部类和元类的类,针对这种情况构造单元测试的最佳方法是什么? 一种方法可能是在一个测试模块中测试这三个模块,因为它们是如此紧密地耦合在一

用Python模拟无限生成器

我正在尝试使用模拟库模拟无限生成器函数. (如果您使用Python 3.3,则为unittest.mock) 这是无限生成器的最小工作示例.如果我可以成功地模拟它,那么我希望能够模拟我正在使用的实际功能. import itertools def infinite_generator(): thing = itertools.cycle([1, 2]) whi

python-使用App Engine单元测试自动生成索引

有没有一种方法可以使用google.appengine.ext.testbed获取本地单元测试,以与开发服务器一样自动生成索引?我尝试了以下似乎无效的方法: from google.appengine.tools import dev_appserver_index def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate

python-unittest.main()之后的命令执行

我正在从另一个Python脚本调用以下脚本: test.py logfile 它应该运行测试并将结果保存在日志文件中.但是由于某些原因,未执行unittest.main(testRunner = runner)之后的命令.我什至不确定文件写入后是否会关闭.还有另一种脚本编写方式吗? from selenium import webdriver from se

python-如何重用使用unittest.testcase编写的测试

我已经使用unittest编写了一些测试,如下所示,我想在另一个我需要帮助的类中重用它们.代码段如下. MyTestClass.py Class MyTestClass(unittest.TestCase): @classmethod def test_TC01_set(self): self.devAddr = "127.0.0.0"

如何使用单元测试来测试是否引发并捕获了正确的异常?

我想测试是否使用unittest引发并捕获了适当的异常. 下面是我的示例代码: def foo(): try: raise Exception(ValueError) except ValueError: print "raised" 这是我想做的: self.assertRaises(ValueError, foo) 由于我捕获了异常,因此无法断言引发异常.

Python单元测试,在测试用例之前声明

想象一下我有这样的测试: import unittest class MyTests(unittest.TestCase): print("Starting") def test_first(self): ..... 是否可以确保在test_first()和其余代码之前执行print语句?从我所看到的来看,它确实会首先执行,但是有没有边缘情况?解决方法:您可以为此使用

python-尝试断言AlmostEqual / assertEqual时,不受支持的操作数类型

我试图测试两个对象是否相等.该对象的类型是Point,它是由ROS(机器人操作系统)定义的类.我有以下测试: def test_when_getting_position_after_2s_then_position_at_2s_is_returned(self): self.expected_position.x = -self.radius self.expected_position.y = 0 self.

python-在pytest中替换测试用例?

背景 在Python的unittest框架中,在基础测试集上使用继承将整个测试集应用于新问题,并偶尔添加其他测试是相当普遍的习惯用法.一个简单的例子是: from unittest import TestCase class BaseTestCase(TestCase): VAR = 3 def test_var_positive(self): self.assert

单元测试失败后,只读Python文件

我正在尝试创建一个单元测试来测试以下功能: def decrypt_keys(self, enc_password): with open ('id_rsa','r') as privkeyfile: pem_key = privkeyfile.read() print(pem_key) priv = rsa.PrivateKey.load_pkcs1(pem_key)

python-具有可变数量的测试的PyUnit

我想做的是创建一个文件夹,人们可以在其中放置文件进行测试,并让pyunit自动展开以将测试作为单独的测试运行.目前,我正在做的是: class TestName(unittest.testcase): def setUp(self): for file in os.listdir(DIRECTORY): # Setup Tests def test_c

Python单元测试:测试两个角度是否几乎相等

我想测试一个输出以度为单位的航向的函数,该航向是区间[0,360)中的数字.由于结果是浮点数,因此无法将实际结果与unittest.assertEqual()的预期结果进行比较. unittest.assertAlmostEqual()更好,因为它提供了公差.此方法适用于不接近0度的航向. 问题:测试预期值为0度的航向的正确方法

python-无法在unittest中授权

我有带有login_required装饰器的页面,我想测试是否使用了正确的模板.在stackoverflow上,我找到了用于单元测试的授权方法,但是对我来说由于某种原因它不起作用.这是我的测试: from django.test import TestCase from django.test import Client import base64 class TestUsing

我可以在Python单元测试中对测试方法和/或测试类进行分组吗

来自PHPUnit,使用@group annotation对测试类或函数进行分组很容易.这样,我可以运行或排除非常特殊的测试子集,可能跨多个文件. 我想知道python unittest是否有类似的东西.如果是这种情况,我该如何使用它并从CLI运行它? 谢谢.解决方法:通过将它们全部放在一个类中,可以运行一组测试函

python-如何在Django单元测试中输出完整的差异?

当我在REPL中将assertEqual()与两个字典一起使用时,它向我显示了一个差异,例如: >>> import unittest >>> class A(unittest.TestCase): ... pass ... >>> a = A() >>> d1 = dict(zip(range(10), range(1000000, 1000010))) >>> d2 = dict(zip(range(3,

python-为每个方法或在TestCase的开头和结尾处运行setUp和tearDown方法

属于同一TestCase成员的测试方法会相互影响吗? 在python unittest中,我尝试了解如果我在测试方法中更改了变量,那么该变量在其他测试方法中也会更改吗?还是为每个方法运行setUp和tearDown方法,然后为每个方法再次设置变量? 我的意思是 AsdfTestCase(unittest.TestCase): def setU

Python WebDriver —使用unittest模块时未启动浏览器

您能帮我下一个吗? 我发现了问题,无法解决.当我使用下一个代码时,浏览器已经启动并且测试通过了: import unittest from selenium import webdriver driver = webdriver.Chrome('D:\chromedriver\chromedriver.exe') driver.get("site URL") 但是与类和方法相同的返回消息:“进程以

Python unittest将参数传递给父测试类

我有一个名为basetestcase()的父测试类 这是所有测试类所继承的 class BaseTestCase(unittest.TestCase): driver = None browser = read from command line operatingSystem = read from command line url = read from command line @classmethod def

无法在ipython / jupyter笔记本中运行unittest的主要功能

我给出了一个在ipython / jupyter笔记本中抛出错误的示例,但作为单个脚本运行正常. import unittest class Samples(unittest.TestCase): def testToPow(self): pow3 = 3**3 assert pow3==27 if __name__ == '__main__': unittest.main() 错误如下: -

python – 在单元测试中抑制打印输出

参见英文答案 > Silence the stdout of a function in Python without trashing sys.stdout and restoring each function call                                    8个 编辑:请注意我正在使用Python 2.6(标记为) 说我有以下内容: class Foo:

如何检查python单元测试是否在PyCharm中启动?

有没有办法检查python单元测试(或任何其他脚本),如果它是在PyCharm IDE内部执行? 我想在本地启动时在单元测试中做一些特殊的事情,当整个事情在构建服务器上执行时我不想做的事情. 干杯解决方法:在PyCharm下运行时,定义了PYCHARM_HOSTED环境变量. isRunningInPyCharm = "PYCHARM_HO

断言通过时,Python unittest调用函数

当测试中的断言通过时,我找不到do_something()的方法.例如: def test_one(self): self.assertEqual(1,1, "Did not match") 如果断言失败,该测试将打印“不匹配”,但在这种情况下它不会,所以我试图在self.assertEqual()成功时调用函数或打印一些东西,请问任何想法? 谢

在Python中编写Selenium Unittests的正确方法?

我有以下场景: Load Page A Check if Element_A exists in Page A Click Button_A On Clicking Button_A, Page B is loaded Check if Element_B exists in Page B and Click Button_B and so on... 我写了这样的代码: import unittest from selenium import webdriver from selen

Python Mock在类中修补多个方法

我试图在一个类中修补多个方法.这是我的简化设置 Hook.py定义为 class Hook(): def get_key(self): return "Key" def get_value(self): return "Value" HookTransfer.py定义为 from Hook import Hook class HookTransfer(): def execute(self):