node.js - 为 node.js 模块创建依赖于 docker 的测试是否可以接受?

标签 node.js testing docker npm automated-tests

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

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

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

此外,到目前为止,我还没有看到依赖 docker 的软件包。

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

最佳答案

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

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

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

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

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

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

关于node.js - 为 node.js 模块创建依赖于 docker 的测试是否可以接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41281625/

相关文章:

node.js - Node 快速 session - secret 是否需要以某种方式独一无二?

node.js - 如何使用 Zombie.js 停止重定向

linux - 在容器中运行 apt update && apt install -y sudo 失败

jquery - 需要带有 Node 和 jQuery 的 JS

node.js - Amazon Lambda 函数和 Cognito : Add new user in existing user pool using a lambda function

node.js - 开 Jest mock 条纹

java - TestNG 中的 RunListener 等价物

在设置 compileComponents 变量之前运行的 Angular2 测试

python - docker-compose stop 从数据库中的表中删除数据

docker - 在ubuntu中的docker上运行filebeat