Tag: python unittest

Pythonunit testing中setUpClass和setUp之间的区别

pythonunit testing框架中的setUpClass与setUp之间的区别,为什么不在setUp中设置setUp而不是setUpClass? 我想了解setUp和setUpClass函数以及tearDown和tearDownClass所做的设置的哪一部分。

Python从导入的模块中嘲弄一个函数

我想了解如何从一个导入的模块中@patch一个函数。 这是我到目前为止。 应用程序/ mocking.py: from app.my_module import get_user_name def test_method(): return get_user_name() if __name__ == "__main__": print "Starting Program…" test_method() 应用程序/ my_module / __ init__.py: def get_user_name(): return "Unmocked User" testing/ mock-test.py: import unittest from app.mocking import test_method def mock_get_user(): return "Mocked This Silly" @patch('app.my_module.get_user_name') class MockingTestTestCase(unittest.TestCase): def test_mock_stubs(self, mock_method): mock_method.return_value = 'Mocked This Silly') […]

暂时禁用各个Pythonunit testing

在Python中使用unittest模块时,如何暂时禁用单个unit testing?

如何testingPython 3.4 asyncio代码?

使用Python 3.4 asyncio库为代码编写unit testing的最佳方式是什么? 假设我想testing一个TCP客户端( SocketConnection ): import asyncio import unittest class TestSocketConnection(unittest.TestCase): def setUp(self): self.mock_server = MockServer("localhost", 1337) self.socket_connection = SocketConnection("localhost", 1337) @asyncio.coroutine def test_sends_handshake_after_connect(self): yield from self.socket_connection.connect() self.assertTrue(self.mock_server.received_handshake()) 当使用默认testing运行器运行此testing用例时,testing将始终成功,因为该方法只执行直到第一次yield from指令产生,然后在执行任何断言之前返回。 这导致testing总是成功。 是否有预构build的testing运行器能够处理这样的asynchronous代码?

AttributeError:'模块'对象没有属性'testing'

我正在运行这个命令: python manage.py test project.apps.app1.tests 并导致这个错误: AttributeError:'模块'对象没有属性'testing' 以下是我的目录结构。 我也添加了app1到我安装的应用程序configuration。 Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line utility.execute() File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 50, in run_from_argv super(Command, self).run_from_argv(argv) File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv self.execute(*args, **options.__dict__) File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 71, […]

如何在目录中运行所有的Pythonunit testing?

我有一个包含我的Pythonunit testing的目录。 每个unit testing模块的forms是test _ *。py 。 我试图做一个名为all_test.py的文件,你会猜到它运行上述testing表单中的所有文件并返回结果。 到目前为止,我尝试了两种方法。 都失败了。 我将展示两种方法,并希望外面的人知道如何正确地做到这一点。 对于我的第一个勇敢的尝试,我想“如果我只是将所有的testing模块导入到文件中,然后调用这个unittest.main() ,它会工作,对不对? 那么,事实certificate我错了。 import glob import unittest testSuite = unittest.TestSuite() test_file_strings = glob.glob('test_*.py') module_strings = [str[0:len(str)-3] for str in test_file_strings] if __name__ == "__main__": unittest.main() 这不起作用,我得到的结果是: $ python all_test.py ———————————————————————- Ran 0 tests in 0.000s OK 对于我的第二次尝试,虽然我确定,也许我会尝试以更“手动”的方式来完成整个testing。 所以我试图做到这一点: import glob import unittest testSuite = […]