一年多来,我一直在使用以下命令来运行测试和评估Python项目的代码覆盖率。nosetests-v--with-coverage--cover-package=genhubgenhub/*.py覆盖率报告曾经在最右侧包含一列,显示缺少覆盖率的行。NameStmtsMissBranchBrPartCoverMissing----------------------------------------------------------------genhub/cdhit.py50080100%genhub/exons.py85698017%24-40,48-56,60-79,87-107
谁能告诉我如何为我使用Nose创建的sqlalchemy模型编写单元测试。我只需要一个简单的例子。谢谢。 最佳答案 您可以简单地创建一个内存SQLite数据库并将您的session绑定(bind)到该数据库。例子:fromdbimportsession#probablyacontextboundsessionmakerfromdbimportmodelfromsqlalchemyimportcreate_enginedefsetup():engine=create_engine('sqlite:///:memory:')sessio
我正在使用noseteststest.py来运行单元测试:importunittestimportloggingclassTest(unittest.TestCase):deftest_pass(self):logging.getLogger('do_not_want').info('HIDETHIS')logging.getLogger('test').info('TESTPASS')self.assertEqual(True,True)deftest_fail(self):logging.getLogger('do_not_want').info('HIDETHIS')loggin
我需要能够通过在Linuxshell中键入一行来运行当前目录中的所有测试。在某些目录中,这可以正常工作。但在其他情况下,当我输入“nosetests”时,不会运行任何测试。如果我单独调用它们,测试将运行,但我需要它们全部自动运行。以下是其中一个不起作用的目录:/extwebserver__init__.pytest_Detection.pytest_Filesystem.pytest_Hardware.py...当我在父目录中运行“nosetests”时,某个子目录中的所有测试都会运行,但不会运行来自/extwebserver或其他子目录或父目录本身的测试。编辑这是输出:matthew
我的项目文件夹(是的-我知道这是最佳做法)类似于:.├──app.py├──otherscript.py├──tests/└──tools/├──__init__.py└──toolfile.py我需要nose--with-coverage来测试主文件夹tools文件夹中的.py脚本并排除tests文件夹(虽然我并不真正关心排除它)当我运行基本时nose--with-coverage我了解所有已安装的依赖项和库(flask、请求等)当我运行时nose--with-coverage--cover-package=foldername(or.or./)我得到了测试文件夹的覆盖率。tools
我的Python代码中有一些相对复杂的集成测试。我使用自定义装饰器大大简化了它们,我对结果非常满意。这是我的装饰器的一个简单示例:defspecialTest(fn):defwrapTest(self):#dosomesomeimportantstuffpassreturnwrapTest这是一个测试的样子:classTest_special_stuff(unittest.TestCase):@specialTestdeftest_something_special(self):pass这很好用,并且由PyCharm的测试运行程序执行,没有问题。但是,当我使用Nose从命令行运行测试时
我正在用Nose测试异常。这是一个例子:deftestDeleteUserUserNotFound(self):"Testexceptionisraisedwhentryingtodeletenon-existentusers"try:self.client.deleteUser('10000001-0000-0000-1000-100000000000')#makenosefailhereexceptUserNotFoundException:assertTrue如果引发异常则执行断言,但如果没有引发异常则不会执行。我可以在上面的注释行中添加任何内容,以便在没有异常的情况下Nose会
Python的NOSE测试框架有runningmultipletestsinparallel的概念.这样做的目的不是为了测试代码中的并发性,而是为了让“没有副作用、没有排序问题、没有外部依赖”的代码测试运行得更快。性能提升来自于访问不同设备时的并发I/O等待、更好地利用多CPU/内核以及并行运行time.sleep()语句。我相信Python的单元测试测试框架也可以通过插件TestRunner完成同样的事情。有没有人遇到过这样的野兽,他们可以提出任何建议吗? 最佳答案 Pythonunittest的内置testrunner不会并行运
似乎如果一个测试用例失败,nose将尝试执行下一个测试用例。在任何测试用例中出现第一个错误时,如何让Nose中止所有执行?我尝试了sys.exit()但它给了我一些关于它的丑陋而冗长的信息 最佳答案 Nose有一个选项:-x,--stopStoprunningtestsafterthefirsterrororfailure这是你需要的吗?以下链接可以帮助您了解所有可用于Nose测试的选项。http://nose.readthedocs.org/en/latest/usage.html 关
尽管安装了插件,但我似乎无法使用Nose获得代码覆盖率。关于如何解决这个问题的任何想法?12:15:25~/sandbox/ec$nosetests--pluginsPluginxunitPlugindeprecatedPluginskipPluginmultiprocessPluginfailuredetailPlugincapturePluginlogcapturePlugincoveragePluginattributeselectorPlugindoctestPluginprofilePluginidPluginallmodulesPlugincollect-onlyPlugi