Skip to main content

一个 pytest 插件,用于针对 Minecraft 版本运行测试

项目描述

pytest-我的世界

构建状态 派皮 PyPI - Python 版本

一个 pytest 插件,用于针对 Minecraft 版本运行测试。

该插件会自动将最新版本的 Minecraft 客户端下载到 pytest 缓存中。提供的夹具还可以按需提取原版资源包数据包。

安装

该软件包可以使用pip.

$ pip install pytest-minecraft

用法

下载 Minecraft 客户端需要几秒钟,因此使用插件提供的固定装置的测试将被跳过,除非使用命令行标志明确启用。该--minecraft-latest标志将启用测试并针对最新的稳定版本运行它们。

$ pytest --minecraft-latest

您还可以使用该--minecraft-snapshot标志来测试最新的快照。可以同时指定这两个标志以针对稳定版本和快照版本运行测试。

$ pytest --minecraft-latest --minecraft-snapshot

夹具

  • 夹具将minecraft_client_jar下载的 Minecraft 客户端的路径作为pathlib.Path实例返回。

    def test_with_client(minecraft_client_jar):
        assert minecraft_client_jar.name == "client.jar"
    
        with ZipFile(minecraft_client_jar) as client:
            assert len(client.namelist()) > 10_000
    
  • 夹具将minecraft_resource_pack提取的香草资源包的路径作为pathlib.Path实例返回。

    def test_with_resource_pack(minecraft_resource_pack):
        assert minecraft_resource_pack.name == "resource_pack"
        assert (minecraft_resource_pack / "assets" / "minecraft" / "textures").is_dir()
    
  • 夹具将minecraft_data_pack提取的原始数据包的路径作为pathlib.Path实例返回。

    def test_with_data_pack(minecraft_data_pack):
        assert minecraft_data_pack.name == "data_pack"
        assert (minecraft_data_pack / "data" / "minecraft" / "loot_tables").is_dir()
    

贡献

欢迎投稿。本项目使用poetry.

$ poetry install

您可以使用poetry run pytest.

$ poetry run pytest

代码遵循黑色代码样式。

$ poetry run black .

许可证 -麻省理工学院

项目详情


下载文件

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

源分布

pytest-minecraft-0.2.0.tar.gz (4.0 kB 查看哈希

已上传 source

内置分布

pytest_minecraft-0.2.0-py3-none-any.whl (4.2 kB 查看哈希

已上传 py3