2017-10-09 1 views
0

私が設定したパクトブローカーにパクトファイルを公開しようとしています。 docsによれば、これは@pact-foundation/pact-nodeをインポートし、publishPacts()を呼び出すことによって行われます。Pact JS:パクトブローカーにパブリッシュする方法

ただし、その関数は存在しません。私はnpm install @pact-foundation/pact-node --saveを使用してモジュールをインストールしました。文書の通り、require dですが、公開しようとするとTypeError: pact.publishPacts is not a functionとなります。いつインタラクティブノードシェルからrequire、私はこれを取得:

> const pact = require('@pact-foundation/pact-node') 
undefined 
> pact 
{ default: Pact { __servers: [] } } 
> 

ここで何が起こっていますか? node_modules/pact/node_modulesに移動してモジュールフォームをインポートすると、publishPactsメソッドが正常に機能します。しかし私の実際のテストケースでは、pactでインストールされた@pact-foundation/pact-nodeのバージョンが見つかりません。私が別にインストールしたバージョンだけが壊れているようです。

+1

これはバグのように見える、あなたは協定ノードリポジトリに上げてくださいだろうか? –

答えて

0

これはv5.1.0で私の作品:

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

実際には5.1.0のバグだったようです。彼らは昨夜、それを修正しました(https://github.com/pact-foundation/pact-node/releases/tag/5.1.1)。 – ewok

関連する問題