我目前有一个需要在不同情况下进行测试的模块。
但是为了改进测试,我有很多文件复制和child-process
高管要做。
也许Docker是运行测试的好方法,但这会增加对Docker的依赖。
到目前为止,我还没有看到依赖于docker的软件包。
因此对于npm
包,是否可以使用依赖于docker的测试发布包?
答案 0 :(得分:1)
我首先考虑一下您的目标受众 - 下载模块的用户已经安装了Docker的可能性有多大?
如果您的模块已经与Docker相关,则可以假设大多数用户已经拥有Docker。如果它是用于处理React路由的util,可能不是。
您还应该考虑不测试某些难以测试的功能与测试它们所带来的难度或复杂性的影响。
对于绝大多数使用npm模块的人来说,他们很少会运行测试。运行测试保留给那些积极想要开发和贡献模块的人。
可能适合您的问题的一种常见方法是在项目中包含Docker设置和测试,但将它们从实际模块本身中排除。在您的package.json
模块中,您可以添加files
defines which files should actually be included when publishing the module的属性。
使用这种方法,您可以以适合您的方式设置和运行测试 - 并且如果他们需要,可以为任何有用的贡献者提供 - 但不会给日常用户带来他们不需要的额外设置的负担