我目前有一个模块,需要在不同的情况下进行测试。
但是为了改进测试,我有很多文件复制和child-process执行人员要做。
也许Docker是运行测试的一个很好的解决方案,但这会增加对Docker的依赖。
此外,到目前为止,我还没有看到包依赖于docker来实现这种情况。
那么,对于一个npm包,发布一个依赖于docker的测试包是可以接受的吗?
发布于 2016-12-22 19:13:34
我首先考虑的是你的目标受众--下载你的模块的用户有多大可能已经安装了Docker?
如果您的模块已经与Docker相关,那么可以假定大多数用户已经安装了Docker。如果它是用于处理React路由的实用程序,则可能不是。
您还应该考虑而不是测试的影响,某些难以测试的特性与测试它们所造成的困难或复杂性。
对于绝大多数使用npm模块的人来说,他们很少运行测试。运行测试是为那些积极想要开发和贡献模块的人保留的。
一种可能适合您的问题的常见方法是在项目中包含Docker设置和测试,但将它们排除在实际模块本身之外。在模块的package.json中,您可以包含一个defines which files should actually be included when publishing the module的files属性。
使用这种方法,您可以以适合您的方式设置和运行测试-如果他们需要的话,任何有用的贡献者都可以使用它-但不会给日常用户带来他们不需要的额外设置负担。
https://stackoverflow.com/questions/41281625
复制相似问题