草庐IT

venv_test

全部标签

python - nosetests 框架 : how to pass environment variables to my tests?

我有一个测试套件,它作为一个更大的构建框架的一部分执行,是用Python编写的。一些测试需要参数,我想使用环境变量传递这些参数。显然nosetestsrunner有一个env参数,它可以满足我的要求,accordingtothedocumentation.然而,它似乎并没有像预期的那样工作?这里有一个最小的测试脚本来举例说明这个问题:#!/usr/bin/envpython#pipinstallnoseimportos,nose,unittestclassTest(unittest.TestCase):deftest_env(self):self.assertEquals(os.env

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 - python 3.x venv 环境是否可重定位?

从python3.3开始,stdlib具有用于创建虚拟环境的venv模块。python3.xvenv环境是否可重定位? 最佳答案 不,安装在./bin中的命令在shabang行中具有固定路径。 关于python-python3.xvenv环境是否可重定位?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/27186207/

python - 如何获取 "python -m venv"直接安装最新的pip版本

作为新python版本编译步骤的一部分,我获取并运行get-pip.py,在python可执行文件旁边安装最新的pip:$/opt/python/3.7.0/bin/python--versionPython3.7.0$/opt/python/3.7.0/bin/pip--versionpip18.0from/opt/python/3.7.0/lib/python3.7/site-packages/pip(python3.7)我在/opt/python下有25个这样的版本,尽管我主要使用每个主要版本的五个最新版本。次要版本不是EOL。要设置一个环境,我曾经使用-p/opt/python

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 - 使用 if __name__ == '__main__' : for tests

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

python - 从 git bash for windows 激活 venv

我在Windows(7、64位)上使用gitbash。我尝试通过调用python-mvenvvenv使用python3.4的内置venv模块创建一个venv,它创建成功,但是生成的venv不包含bash激活脚本,只有一个.bat和.ps1。python2.6.6(版本13.0.1)的virtualenv库在venv/Scripts/文件夹中创建了以下四个文件:activate,activate.bat、activate.ps1和activate_this.py。由于gitbash控制台无法使用bat或powershell脚本,而且我真的不想回到Windowscmd提示符或虚拟机,有什么

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