草庐IT

UnitTest

全部标签

python - django 在 unittest 测试中设置环境变量

我希望能够在我的Django应用程序中设置环境变量,以便能够运行测试。例如,我的View依赖于几个APIkey。有办法overridesettingsduringtesting,但我不希望它们在settings.py中定义,因为这是一个安全问题。我已尝试在我的设置函数中设置这些环境变量,但这无法为Django应用程序提供值。classMyTests(TestCase):defsetUp(self):os.environ['TEST']='123'#doesn'tpropogatetoapp当我在本地测试时,我只需要一个.env文件来运行foremanstart-e.envweb为os.

python - pytest 参数化测试是否适用于基于 unittest 类的测试?

我一直在尝试将参数化的@pytest.mark.parametrize测试添加到基于类的单元测试中。classSomethingTests(unittest.TestCase):@pytest.mark.parametrize(('one','two'),[(1,2),(2,3)])deftest_default_values(self,one,two):assertone==(two+1)但是参数化的东西并没有发挥作用:TypeError:test_default_values()takesexactly3arguments(1given)我已经切换到简单的基于类的测试(没有单元测试

python - 如何使用 unittest setUpClass 方法()?

我正在寻找python2.7unittestsetUpClass()方法的一些基本示例。我正在尝试在我的模块中测试一些类方法,并且我已经做到了:importunittestimportsysimportmymoduleclassBookTests(unittest.TestCase):@classmethoddefsetUpClass(cls):cls._mine=mymodule.myclass('test_file.txt','baz')但我不知道如何从这里开始使用我刚刚创建的对象编写测试。 最佳答案 在您的测试方法中,您现在可

Python,单元测试 - 将命令行参数传递给 unittest.TestCase 的 setUp

我有一个脚本,它充当使用Pythonunittest模块编写的某些单元测试的包装器。除了清理一些文件、创建输出流和生成一些代码之外,它还使用将测试用例加载到套件中unittest.TestLoader().loadTestsFromTestCase()我已经在使用optparse来提取几个命令行参数,用于确定输出位置、是否重新生成代码以及是否进行一些清理。我还想传递一个配置变量,即端点URI,以在测试用例中使用。我意识到我可以将OptionParser添加到TestCase的setUp方法,但我想将选项传递给setUp。这可以使用loadTestsFromTestCase()吗?我可以

python - `python -m unittest discover` 未发现测试

Python的unittestdiscover没有找到我的测试!我一直在使用Nose来发现我的单元测试,它工作正常。从我的项目的顶层,如果我运行nosetests我得到:Ran31testsin0.390s现在Python2.7单元测试hasdiscovery,我试过用python-munittestdiscover但我明白了Ran0testsin0.000s我的目录结构是:myproj/reporter/__init__.pyreport.py[otherappmodules]tests/__init__.pytest-report.py[othertestmodules]你知道为什

python - 在unittest中的测试之间保持变量变化?

如何在unitttest中保留从TestCase继承的同一对象中所做的更改?fromunittestimportTestCase,mainasunittest_mainclassTestSimpleFoo(TestCase):foo='bar'defsetUp(self):passdeftest_a(self):self.assertEqual(self.foo,'bar')self.foo='can'deftest_f(self):self.assertEqual(self.foo,'can')if__name__=='__main__':unittest_main()即:我希望上面

python - unittest.mock : asserting partial match for method argument

Rubyist在这里编写Python。我有一些看起来像这样的代码:result=database.Query('complicatedsqlwithanid:%s'%id)database.Query被模拟出来,我想测试ID是否正确注入(inject),而不会将整个SQL语句硬编码到我的测试中。在Ruby/RR中,我会这样做:mock(database).query(/#{id}/)但我看不到像在unittest.mock中那样设置“选择性模拟”的方法,至少没有一些毛茸茸的side_effect逻辑。所以我尝试在断言中使用正则表达式:withpatch(database)asMockD

python - unittest 彩色输出

我使用unittest(实际上是unittest2)和PythonMock一起进行Python测试用于模拟对象和nose一次性运行所有测试。我很怀念从绿色/红色条中一眼就能分辨出什么是有效的,什么是错误的。有没有办法从unittest获得彩色输出?(此时更改测试套件不是一种选择,我实际上喜欢unittest) 最佳答案 使用与robert'sanswer非常相似的方法,我(今天!)发布了一个包,可以在unittest测试结果中启用颜色输出。我称它为colour-runner.要安装它,运行:pipinstallcolour-runn

Python 库 'unittest' : Generate multiple tests programmatically

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Howdoyougeneratedynamic(parameterized)unittestsinPython?我有一个要测试的函数,under_test,以及一组预期的输入/输出对:[(2,332),(234,99213),(9,3),#...]我希望这些输入/输出对中的每一对都在其自己的test_*方法中进行测试。这可能吗?这是我想要的,但强制每个输入/输出对进入一个测试:classTestPreReqs(unittest.TestCase):defsetUp(self):self.expected_pa

python - 如何通过 unittest setUp 在 python 中正确使用 mock

在我尝试学习TDD的过程中,尝试学习单元测试并在python中使用mock。慢慢掌握它,但不确定我是否正确执行此操作。预先警告:我坚持使用python2.4,因为供应商API是作为预编译的2.4pyc文件提供的,所以我使用的是mock0.8.0和unittest(不是unittest2)鉴于'mymodule.py'中的示例代码importldapclassMyCustomException(Exception):passclassMyClass:def__init__(self,server,user,passwd):self.ldap=ldap.initialize(server)