草庐IT

test-fixture

全部标签

python - 获取 fixture 中的主键(id)(Python,SQLAlchemy)

我正在使用fixture测试Pylons应用程序,但我偶然发现了一个问题。假设我有这样的数据集:classCompanyData(DataSet):classtest_company:company_full_name=u'FirmaTęst'company_short_name=u'TęstCo'classUserData(DataSet):classtest_user:user_login='testuser'user_password='test'company=CompanyData.test_company现在的问题是,当我在功能测试中使用此数据时(如http://farmd

python - 当参数化测试使用参数化 fixture 时, fixture 范围不起作用

我想在相同参数化测试的不同实例化之间共享fixture,其中fixture本身也被参数化:#!/usr/bin/py.test-svimportpytestnumbers_for_fixture=[0]defpytest_generate_tests(metafunc):if"config_field"inmetafunc.fixturenames:metafunc.parametrize("config_field",[1],scope='session')@pytest.fixture(scope='session')deffixture_1(config_field):numbe

python - 在 pytest 的不同测试中仅使用某些 fixture 参数化

我有一个名为n_groups的fixture,我想在某些情况下对其进行参数化,但在其他情况下则不会。这样做的原因是因为我的类似MVC的数据模型的结构方式,我在“模型”类中尽可能多地测试,但“Controller”类不需要那么广泛的测试,因为我已经在“模型”中完成。因此,在Controller中运行具有所有参数化的测试是多余的,我想限制测试的数量,从而限制测试时间。目前为了测试我的Controller的初始化,生成了超过18,000个测试,运行需要42分钟!查看Travis-CIoutput.目前,我的解决方法是,#Contentsofconftest.pyimportpytestimp

python - flask 的 test_client 的类似请求的包装器

我正在尝试对我的包进行可用测试,但是使用Flask.test_client与requestsAPI非常不同,我发现它很难使用。我试图让requests.adapters.HTTPAdapter包装响应,但看起来werkzeug没有使用httplib(或urllib)来构建它自己的Response对象。知道怎么做吗?最好引用现有代码(谷歌搜索werkzeug+requests不会给出任何有用的结果)非常感谢!! 最佳答案 现在有一个PyPI包用于此,因此您可以使用pipinstallrequests-flask-adapter。

python - 如何在 pytest 中两次使用参数化的依赖 fixture ?

我试图在单个测试中多次使用参数化fixture,目的是获取其所有值的笛卡尔积。https://stackoverflow.com/a/39444098/102441展示了如何对一个简单的fixture执行此操作:importpytest@pytest.fixture(params=[0,1,2])deffirst(request):returnrequest.paramsecond=first#runs3x3=9timesdeftest_double_fixture(first,second):assertFalse,'{}{}'.format(first,second)但是,如果参数

python - 测试时 Django Fixtures 加载顺序不正确吗?

我正在测试我的应用程序,我遇到了一个问题,我不确定为什么。我正在为我的测试加载固定装置,这些固定装置具有相互依赖的外键。它们必须按特定顺序加载,否则将无法工作。我正在加载的固定装置是:["test_company_data","test_rate_index",'test_rate_description']公司数据是第一个。test_rate_index有一个公司的外键,test_rate_description有一个在test_rate_index中声明的模型的外键。(顺便说一句,不同的测试需要不同的固定装置,这就是为什么我不只是将所有东西都推到一个)如果我使用Django的标准程

python - ScopeMismatch 将 session 范围的 fixture 与 pytest-mozwebqa 插件一起用于 py.test

我正在使用pytest-mozwebqa插件来运行一些selenium测试。我只想为所有测试登录一次应用程序,所以我尝试在conftest.py中使用session范围的fixture,但出现以下错误。我如何编写此登录装置,以便每个测试都不需要登录,并且所有测试都可以使用一次登录?这是我遇到的错误:=================================================================================================ERRORS===========================================

python - 'setup.py test' egg 安装位置?

我的项目需要的所有鸡蛋都预先下载在一个目录中,我希望安装工具仅从该目录安装包。在我的setup.cfg中我有:[easy_install]allow_hosts=Nonefind_links=../../setup我运行pythonsetup.pydevelop,它找到并正确安装了所有包。为了测试,我有一个额外的要求,在setup.py中指定。tests_require=["pinocchio==0.2"],这个蛋也驻留在本地../../setup目录中。我运行pythonsetup.pytest,它看到依赖关系并在../../setup中找到egg就好了。但是,egg会安装到我的cu

python - 如何在 `python setup.py test` 中运行 py.test 和 linters

我有一个包含setup.py文件的项目。我使用pytest作为测试框架,我还在我的代码上运行各种linters(pep8、pylint、pydocstyle、pyflakes等)。我使用tox在多个Python版本中运行它们,并使用Sphinx构建文档。我想使用pythonsetup.pytest任务在我的源代码上运行我的测试套件和linter。如果我实现了这一点,我将只使用pythonsetup.pytest作为在我的tox.ini文件中运行测试的命令。所以我的问题是:使用pythonsetup.pytest执行这些操作是否合理/良好的做法?或者我应该为此使用一些其他工具,比如直接在

python - flask 测试 : Test App Request?

在进行MiguelGrinberg的FlaskWeb开发时,我在测试gravatar代码时卡住了,deftest_gravatar(self):u=User(email='john@example.com',password='cat')withself.app.test_request_context('/'):gravatar=u.gravatar()gravatar_256=u.gravatar(size=256)gravatar_pg=u.gravatar(rating='pg')gravatar_retro=u.gravatar(default='retro')withsel