【问题标题】:Is it acceptable to create tests relying on docker for a node.js module?为 node.js 模块创建依赖 docker 的测试是否可以接受?
【发布时间】:2016-12-22 11:01:36
【问题描述】:

我目前有一个模块需要在不同的场景下进行测试。

但是为了改进测试,我有很多文件复制和child-process execs 要做。

也许 Docker 是运行测试的一个很好的解决方案,但这会增加对 Docker 的依赖。

到目前为止,我还没有看到依赖 docker 来处理此类场景的软件包。

那么对于npm 包,发布一个测试依赖于 docker 的包是否可以接受?

【问题讨论】:

    标签: node.js testing docker npm automated-tests


    【解决方案1】:

    我首先会考虑您的目标受众 - 下载您的模块的用户已经安装了 Docker 的可能性有多大?

    如果您的模块已经与 Docker 相关,则可以假设大多数用户已经拥有 Docker。如果它是处理 React 路由的工具,可能不是。

    您还应该考虑测试某些难以测试的功能与测试它们所产生的难度或复杂性的影响。

    对于绝大多数使用 npm 模块的人来说,他们很少运行测试。运行测试是为那些积极想要开发和贡献模块的人保留的。

    可能适合您问题的一种常见方法是在项目中包含 Docker 设置和测试,但将它们从实际模块本身中排除。在模块的package.json 中,您可以包含files 属性,其中defines which files should actually be included when publishing the module

    通过这种方法,您可以以适合您的方式设置和运行测试 - 并且如果他们愿意,任何有用的贡献者都可以使用 - 但不会给日常用户带来他们不需要的额外设置的负担.

    【讨论】:

    • files 属性确实可以帮助清理分发。
    猜你喜欢
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    • 2022-06-13
    • 2018-09-01
    • 2010-09-29
    相关资源
    最近更新 更多