首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pact JS:如何发布到pact-broker

Pact JS:如何发布到pact-broker
EN

Stack Overflow用户
提问于 2017-10-10 03:19:42
回答 1查看 823关注 0票数 1

我正在尝试将我的协议文件发布给我建立的协议代理。根据docs,这是通过导入@pact-foundation/pact-node并调用publishPacts()来完成的。

但是,该函数并不存在。正如文档所说,我已经使用npm install @pact-foundation/pact-node --save安装了模块,然后required它,但当我尝试发布时,我得到的是TypeError: pact.publishPacts is not a function。当我从交互式节点shell执行require操作时,我会得到如下结果:

代码语言:javascript
复制
> const pact = require('@pact-foundation/pact-node')
undefined
> pact
{ default: Pact { __servers: [] } }
>

这里发生了什么事?如果我导航到node_modules/pact/node_modules并从那里导入模块,就可以很好地获得publishPacts方法。但是我的实际测试用例找不到随pact一起安装的@pact-foundation/pact-node版本。只有我单独安装的版本,似乎已经坏了。

EN

回答 1

Stack Overflow用户

发布于 2017-10-12 20:00:37

这对我的v5.1.0很有效

代码语言:javascript
复制
import pact from '@pact-foundation/pact-node';
import * as path from 'path';

const opts = {
  pactUrls: [path.resolve(__dirname, './pacts/matching_service-animal_profile_service.json')],
  pactBroker: 'https://test.pact.dius.com.au',
  pactBrokerUsername: 'blah',
  pactBrokerPassword: 'blah',
  tags: ['prod', 'test'],
  consumerVersion: '1.0.0'
}
pact.publishPacts(opts)
  .then(() => {
    console.log('Pact contract publishing complete!')
  })
  .catch(e => {
    console.log('Pact contract publishing failed: ', e)
  })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46653558

复制
相关文章

相似问题

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