草庐IT

unittest++

全部标签

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)

python - 如何在Python2.7的unittest中显示assertRaises()捕获的错误信息?

为了确保来self的模块的错误消息提供信息,我想查看assertRaises()捕获的所有错误消息。今天我对每个assertRaises()都做,但由于测试代码中有很多,所以变得非常乏味。如何打印所有assertRaises()的错误消息?我研究了http://docs.python.org/library/unittest.html上的文档没有弄清楚如何解决它。我可以以某种方式对assertRaises()方法进行修补吗?我不想更改测试代码中的所有assertRaises()行,因为我经常以标准方式使用测试代码。我猜这个问题与Pythonunittest:howdoItestthea

python - 如何从 "python setup.py test"运行 unittest discover ?

我试图弄清楚如何让pythonsetup.pytest运行相当于python-munittestdiscover。我不想使用run_tests.py脚本,也不想使用任何外部测试工具(如nose或py.test)。如果该解决方案仅适用于python2.7就可以了。在setup.py中,我想我需要在配置中的test_suite和/或test_loader字段中添加一些内容,但我可以'似乎找不到正确的组合:config={'name':name,'version':version,'url':url,'test_suite':'???','test_loader':'???',}这是否可能只

python - python - 如何在python中使用nosetest/unittest断言输出?

我正在为类似下一个的函数编写测试:deffoo():print'helloworld!'所以当我想测试这个功能时,代码会是这样的:importsysfromfoomoduleimportfoodeftest_foo():foo()output=sys.stdout.getline().strip()#becausestdoutisanStringIOinstanceassertoutput=='helloworld!'但如果我使用-s参数运行Nose测试,测试会崩溃。如何使用unittest或nose模块捕获输出? 最佳答案 我用这

Python unittest 测试 MongoDB 随机失败

Python的unittest和PyMongo有一个奇怪的问题。测试随机成功或失败:importunittestfrompymongoimportConnectionfromtractorimportTractorclassTestTractor(unittest.TestCase):defsetUp(self):self.tractor=Tractor(1)self.mongo=Connection()self.db=self.mongo.tractorself.db.classes.remove({'name':{'$regex':'^test_'}})self.action_cl

Python - doctest 与 unittest

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭6年前。Improvethisquestion我正在尝试开始使用Python进行单元测试,我想知道是否有人可以解释doctest和unittest的优缺点。你会在什么条件下使用它们? 最佳答案 两者都很有值(value)。我同时使用doctest和nose代替单元测试。我将doctest用于测试给出一个实际用作文档的使用示例的情况。一般来说,我不会让这些测试全面,仅仅为了提供信息。

Ruby MiniTest UnitTest Stubbing 类方法仅用于一次测试

我只想为一个测试stub一个类方法,对于其余的测试,我希望调用实际的方法。我一直在使用rspec和mocha,所以下面的行为看起来很奇怪。我想在我的一个测试中stub的类。classMyClassdefself.foo(arg)return"foo#{arg}"endend我尝试stubMyClass.foo的测试classXYZTest第一个测试通过,但第二个测试失败,提示Mocha::ExpectationError:unexpectedinvocation:MyClass.foo('123')在test_2中,我希望调用实际的类方法,而不是我在test_1中调用的stub。PS: