首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动化测试npm包的用户版,而不是运行持续集成的开发版?

如何自动化测试npm包的用户版,而不是运行持续集成的开发版?
EN

Stack Overflow用户
提问于 2014-02-15 03:30:44
回答 2查看 164关注 0票数 1

偶尔会发生这样的情况:模块的开发版本在我的开发工作空间中工作,并传递给Travis-CI,但在发布到npm之后,最终用户包被破坏了。

例如,如果您使用一个本应在dependencies中但在devDependencies中的子模块,则CI将通过(但还有许多其他可能的破坏)。

你是如何自动化测试的?你使用外部索具吗?有没有秘密模块?你有用户验收测试套件吗?

我使用Github和Travis-CI,但标准安装使用开发安装。

EN

回答 2

Stack Overflow用户

发布于 2014-02-15 07:38:13

曾几何时,我发现npm允许我发布无法安装的包。因此,我在我的Gruntfile中添加了一个这样的目标:

  1. 发出npm pack命令从我的源代码创建一个包。将
  2. 放到一个目录中(由我的Gruntfile自动创建),以便测试使用npm install <path to the package created in the previous step>.

安装新的包

我有一个发布新版本的目标,只有在上述步骤成功的情况下才会发布。

上面的步骤不会捕获您在问题中提到的依赖问题,但它们可以很容易地扩展以捕获它。为此,我会添加一个或多个测试,这些测试会导致上面步骤2中安装的包调用require以及它所依赖的所有内容。

票数 2
EN

Stack Overflow用户

发布于 2014-02-15 07:48:38

我建议设置您自己的CI服务器,它基本上只做一件事,npm install package ; cd node_modules/package ; npm test。这将确保您的软件包至少在服务器上是可安装的。

我听说Jenkins在这方面做得很好(至少,这是node.js核心团队似乎正在使用的),但还没有任何第一手经验。我们只是计划在几周内做好准备。

此外,拥有一些依赖于您的外部模块并对其进行测试也会有所帮助。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21787957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档