Testinfra

Testinfra 为您测试基础设施。「Testinfra test your infrastructures」

Github星跟蹤圖

##################################
Testinfra test your infrastructure
##################################

Latest documentation: https://testinfra.readthedocs.io/en/latest

About

With Testinfra you can write unit tests in Python to test actual state of
your servers configured by management tools like Salt_, Ansible_, Puppet_,
Chef_ and so on.

Testinfra aims to be a Serverspec_ equivalent in python and is written as
a plugin to the powerful Pytest_ test engine

License

Apache License 2.0 <https://github.com/pytest-dev/pytest-testinfra/blob/main/LICENSE>_

The logo is licensed under the Creative Commons NoDerivatives 4.0 License <https://creativecommons.org/licenses/by-nd/4.0/>_
If you have some other use in mind, contact us.

Quick start

Install testinfra using pip::

$ pip install pytest-testinfra

# or install the devel version
$ pip install 'git+https://github.com/pytest-dev/pytest-testinfra@main#egg=pytest-testinfra'

Write your first tests file to test_myinfra.py:

.. code-block:: python

def test_passwd_file(host):
    passwd = host.file("/etc/passwd")
    assert passwd.contains("root")
    assert passwd.user == "root"
    assert passwd.group == "root"
    assert passwd.mode == 0o644


def test_nginx_is_installed(host):
    nginx = host.package("nginx")
    assert nginx.is_installed
    assert nginx.version.startswith("1.2")


def test_nginx_running_and_enabled(host):
    nginx = host.service("nginx")
    assert nginx.is_running
    assert nginx.is_enabled

And run it::

$ py.test -v test_myinfra.py


====================== test session starts ======================
platform linux -- Python 2.7.3 -- py-1.4.26 -- pytest-2.6.4
plugins: testinfra
collected 3 items

test_myinfra.py::test_passwd_file[local] PASSED
test_myinfra.py::test_nginx_is_installed[local] PASSED
test_myinfra.py::test_nginx_running_and_enabled[local] PASSED

=================== 3 passed in 0.66 seconds ====================

.. _Salt: https://saltstack.com/
.. _Ansible: https://www.ansible.com/
.. _Puppet: https://puppetlabs.com/
.. _Chef: https://www.chef.io/
.. _Serverspec: https://serverspec.org/
.. _Pytest: https://pytest.org/

主要指標

概覽
名稱與所有者pytest-dev/pytest-testinfra
主編程語言Python
編程語言Python (語言數: 3)
平台
許可證Apache License 2.0
所有者活动
創建於2015-03-15 20:49:52
推送於2025-09-04 20:15:52
最后一次提交
發布數90
最新版本名稱10.2.2 (發布於 )
第一版名稱1.0.0 (發布於 2016-01-22 14:05:50)
用户参与
星數2.4k
關注者數68
派生數362
提交數817
已啟用問題?
問題數359
打開的問題數127
拉請求數338
打開的拉請求數18
關閉的拉請求數97
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?