一个简化使用pytest进行AiiDA插件测试的模块。
项目描述
注意: aiida-pytest
软件包处于维护模式:未来将继续修复错误,但不会实现新功能。考虑使用 aiida-pytest
的用户强烈建议使用内置的AiiDA fixtures。
aiida-pytest
这是一个帮助程序,可以启用使用 pytest
测试 AiiDA 插件。主要目的是创建一个 fixture,它设置一个临时的 AiiDA 数据库和用户,并简化设置计算机和计算。
要开始,创建一个 tests
文件夹,其中将存放你的 pytest
测试。在 conftests.py
中,你需要编写
from aiida_pytest import *
这定义了 configure
和 configure_with_daemon
fixtures。为了设置测试运行时的计算机和代码,你需要在 tests
文件夹中创建一个 config.yml
文件(并在那里运行 pytest
)。以下示例配置文件设置了 localhost
和 bands-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-pytest
与 aiida-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 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 91f8a6d55aa0e28f4630a2eafe4aedbb80ce9e26c8fe91d3ec262bd03ba05486 |
|
MD5 | 646d61c3f11d57cdd826280629a5aaef |
|
BLAKE2b-256 | cb5c714c409ff1e9a11c3cd83f56fc8c3a0eb172b9e8e7d5b331cbc19c79bd6e |
aiida_pytest-0.1.0a8-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 20b42b3c9626cbf41fb5afe37534ba35790e9af4e4fdb6297950720bfecf4356 |
|
MD5 | 32a5c9a6777288be86608dfa8525ac6c |
|
BLAKE2b-256 | 3f57cdd61b1e7a9f52712e235fd23a84777bda3be422e51dae6527851e8fe6bf |