gpt4 book ai didi

django - 使用 django-webpack-loader 时运行单元测试而不生成 Assets

转载 作者:行者123 更新时间:2023-12-02 08:39:11 24 4
gpt4 key购买 nike

我正在开发一个 Django 项目,其中包含一些前端 JavaScript 代码。我正在从 djanog-pipeline 迁移 JavaScript 打包和缩小。至 webpackdjango-webpack-loader .

django-webpack-loader 通过独立于任何 Django 进程运行 webpack 来生成打包包。然后 django-webpack-loader 将读取由 webpack-bundle-tracker 编写的 JSON 文件。并使用该信息将正确的路径插入 HTML 模板中。

这可以完美地工作,但有一个问题:我们的一些单元测试将使用集成的 Django test client 访问 Django 应用程序。 ,它呈现完整的 HTML 响应,以便测试可以检查生成的结果。无需完成任何与 webpack 相关的设置即可运行测试。因此打包的包和 JSON 文件可能不存在。这些对于测试前端代码来说不是必需的,仅检查动态生成的 HTML。仅仅因为有人忘记运行 webpack 而导致测试失败会让人感到沮丧。

理想情况下,我会让 django-webpack-loader 在插入的 <script> 中使用虚拟 URL运行测试时添加标签,消除对 webpack 生成的文件的依赖。我必须采取什么措施来解决这种依赖性?

最佳答案

如果您想对 pytest 运行的所有测试进行更高级别的操作,您可以将以下内容添加到 conftest.py 中:

@fixture(autouse=True)
def no_webpack_loaded(monkeypatch):
def mockreturn(loader, bundle_name):
return []
monkeypatch.setattr(WebpackLoader, "get_bundle", mockreturn)

关于django - 使用 django-webpack-loader 时运行单元测试而不生成 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43660725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com