Cookiecutter 模板测试,什么是 cookies.bake?

Cookiecutter template testing, what is cookies.bake?

我正在尝试弄清楚如何为我的 cookiecutter 模板编写测试套件。

cookiecutter-django/tests/test_cookiecutter_generation.py 中查看了 cookiecutter-django 模板的测试后,我发现大多数测试函数都带有一个名为 cookies 的参数。在测试函数本身中,有一个方法调用作为 cookies 参数传入的任何对象,称为 bake.

我想知道这个对象是什么以及它是从哪里导入的?

在这种情况下,cookies 似乎是 fixture that is defined in pytest-cookies, as shown in the related pytest_cookies.py source code

根据您给定的 cookiecutter 模板,cookies fixture 实际上看起来是 a wrapper for cookiecutter itself. Additionally, the related cookies.bake() method can be used to generate a project

有趣的是,pytest-cookiespytest 的插件,因此,在测试期间可以访问此插件,因为相关的 pytest documentation indicates:

If a plugin is installed, pytest automatically finds and integrates it, there is no need to activate it.

因此,因为 requirements 指定 pytest-cookiescookiecutter-django 一起使用,所以 pytest-cookies 中的 cookies fixture 应该自动可用测试。