跳转到主要内容

一个简化使用pytest进行AiiDA插件测试的模块。

项目描述

注意: aiida-pytest 软件包处于维护模式:未来将继续修复错误,但不会实现新功能。考虑使用 aiida-pytest 的用户强烈建议使用内置的AiiDA fixtures。

aiida-pytest

这是一个帮助程序,可以启用使用 pytest 测试 AiiDA 插件。主要目的是创建一个 fixture,它设置一个临时的 AiiDA 数据库和用户,并简化设置计算机和计算。

要开始,创建一个 tests 文件夹,其中将存放你的 pytest 测试。在 conftests.py 中,你需要编写

from aiida_pytest import *

这定义了 configureconfigure_with_daemon fixtures。为了设置测试运行时的计算机和代码,你需要在 tests 文件夹中创建一个 config.yml 文件(并在那里运行 pytest)。以下示例配置文件设置了 localhostbands-inspect 代码

computers:
  localhost:
    hostname: localhost
    description: localhost
    transport: local
    scheduler: direct
    work_directory: /tmp/test_aiida
    prepend_text: 'unset PYTHONPATH'

codes:
  bands_inspect:
    description: bands_inspect code
    default_plugin: bands_inspect.difference
    remote_computer: localhost
    remote_abspath: /home/a-dogres/.virtualenvs/bands-inspect/bin/bands-inspect

注意: aiida-pytestaiida-xdist 插件不兼容,因为具有 scope="session" 的 fixtures 将在每个运行的工作器上调用。

定义和运行测试

使用 aiida-pytest 进行的测试定义和执行方式与“常规”的 pytest 测试完全相同。如果一个测试需要使用 AiiDA 数据库,则应使用 configure 修复程序。如果测试还需要运行守护进程,则应使用 configure_with_daemon 修复程序。请注意,由于某些 AiiDA 导入语句需要设置数据库后端,因此这些导入应该在测试函数的 内部 执行。

测试运行完成后,代码将等待您按下 Enter 键,然后才会删除测试数据库和仓库。这给了您手动检查最终状态的机会。如果您想跳过此步骤(例如在 CI 系统中),请向 py.test 传递 --quiet-wipe 标志。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装软件包 的信息。

源代码分布

aiida-pytest-0.1.0a8.tar.gz (7.0 kB 查看散列值)

上传时间 源代码

构建分布

aiida_pytest-0.1.0a8-py3-none-any.whl (14.4 kB 查看散列值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面