草庐IT

pt_table_test

全部标签

Python 单元测试 : cancel all tests if a specific test fails

我正在使用unittest来测试我的Flask应用程序,并使用nose来实际运行测试。我的第一组测试是为了确保测试环境干净,并防止在Flask应用程序配置的数据库上运行测试。我确信我已经干净地设置了测试环境,但我希望在不运行所有测试的情况下对此有一些保证。importunittestclassMyTestCase(unittest.TestCase):defsetUp(self):#setsomestuffuppassdeftearDown(self):#dotheteardownpassclassTestEnvironmentTest(MyTestCase):deftest_envi

python - 如何让 Travis CI 安装 tests_require 中声明的 Python 依赖项?

我有带有setup.py的Python包。它具有在install_requires中声明的常规依赖项和在tests_require中声明的开发依赖项,例如flake8.我认为pipinstall-e.或运行pythonsetup.pytest也会安装我的开发依赖项,它们将可用。然而,显然它们不是,我很难正确设置我的TravisCI构建。install:-"pipinstall-e."script:-"pythonsetup.pytest"-"flake8"如上配置的构建将失败,因为flake8将不会被发现为有效命令。我还尝试从pythonsetup.pytest命令内部调用flake8

python - 在子文件夹中使用 pytest where test

我正在使用pythonpytest来运行我的单元测试。我的项目文件夹是:Main-包含数据文件:A.txtMain\Tests-我运行pytest的文件夹Main\Tests\A_test-包含测试文件的文件夹A_test文件夹中的测试使用文件A.txt(位于Main文件夹中)。我的问题是,当我运行py.test时,测试失败,因为它找不到A.txt。我发现是因为pytest在运行测试时使用了路径Main\Test,而不是将路径改为Main\Tests\A_test(我是在测试文件中打开A.txt时使用相对路径)我的问题:有没有办法让pytest将目录更改为它为每个测试执行的测试文件夹?

python - 关键字 CONSTRAINT 在此 CREATE TABLE 语句中的作用

我正在学习如何将sqlite3与python结合使用。我所关注的教科书中的示例是一个数据库,其中每个国家/地区记录都有一个地区、国家/地区和人口。书上说:ThefollowingsnippetusestheCONSTRAINTkeywordtospecifythatnotwoentriesinthetablebeingcreatedwilleverhavethesamevaluesforregionandcountry:>>>cur.execute('''CREATETABLEPopByCountry(RegionTEXTNOTNULL,CountryTEXTNOTNULL,Popul

python - 使用 if __name__ == '__main__' : for tests

当您编写一些自给自足的脚本时,使用if__name__=='__main__'作为编写测试的地方是不是一个坏主意? 最佳答案 这实际上取决于您的代码和脚本的目的。对于大型和复杂的项目,您肯定必须将所有测试放在一个单独的地方。但是在处理一些小的事情时,将测试与代码一起进行可能是一个很好的解决方案-这是doctest的主要思想(这是一个很棒的Python模块,允许您在文档字符串中编写测试)。在这种情况下,您的if__name__=='__main__'将如下所示:if__name__=="__main__":importdoctestd

python - Django 1.7 - 不小心掉了一张 table 。如何恢复它?

我不小心在Django1.7项目中删除了一个表。我运行了makemigrations&migrate。这两个命令都没有识别出该表已删除。所以他们没有影响。我应该删除模型代码、进行迁移、添加模型代码并再次迁移吗?还是有更好的恢复方法? 最佳答案 试试这个:pythonmanage.pysqlmigrateapp_name0001|pythonmanage.pydbshell它将初始应用程序迁移的输出通过管道传输到执行它的dbshel​​l。如果您想更好地控制正在发生的事情,请将其分为两步并复制/粘贴SQL命令。自然地,迁移包含所有应用

python - SqlAlchemy:如何实现 DROP TABLE ... CASCADE?

我需要删除具有外键约束的PostgreSQL数据库中的表,并且需要DROPTABLE...CASCADE。我可以执行原始SQL:engine.execute("DROPTABLE%sCASCADE;"%table.name)。但是,我想实现此行为,以便我可以为postgresql方言执行table.drop(engine)。如何解决这个问题? 最佳答案 您可以customizethecompilationofconstructs像这样:fromsqlalchemy.schemaimportDropTablefromsqlalchem

python - python 的新 'pip wheel' 是否支持为 tests_requires 中列出的依赖项构建轮子?

我使用setuptools'tests_require'来指定测试我的包所需的依赖项。tests_require-http://pythonhosted.org/distribute/setuptools.html#new-and-changed-setup-keywords我已经开始使用wheelpackaginghttp://wheel.readthedocs.org/en/latest/并为我当前的包及其所有依赖项构建一个wheels目录。pipwheel--wheel-dir=/tmp/wheelhouse.不过,我还想为任何包tests_require中列出的所有包构建轮子。

python - 如何在没有详细测试进度的情况下显示详细的 py.test 差异?

py.test的--verbose选项需要显示断言失败的完整差异,但这也会在执行期间显示每个测试的全名(很吵)。我希望在断言失败时显示完整的差异,但我只希望在测试运行时显示单个.。有办法做到这一点吗? 最佳答案 不幸的是,似乎没有配置或命令行标志,因为它是硬编码的deepinsidepytest:当你定义--verbose时,你会得到整个包。但是,我设法想出了这个hackishhack。将以下函数放入您的conftest.py:defpytest_configure(config):terminal=config.pluginman

python - 如何让 `python setup.py test -q` 更安静?

我刚刚开始一个Pyramid项目,遵循Pyramiddocs的建议.测试命令如下所示:../bin/pythonsetup.pytest-q..这给了我这个结果:$../bin/pythonsetup.pytest-qrunningtestrunningegg_infowritingrequirementstoclimas_ng.egg-info/requires.txtwritingclimas_ng.egg-info/PKG-INFOwritingtop-levelnamestoclimas_ng.egg-info/top_level.txtwritingdependency_li