2016-10-08 14 views
0

私はnewman apiを使用して郵便受けのテストスーツを実行しています。その期待通りに適切に実行するが、私は--export-環境使用して、それが可能であるコマンドラインでファイルのテスト実行中に生成された環境変数を、エクスポートしたい:私は環境を得るためにはJavaScriptを書いている同じもののためnewman APIを使用して環境変数をエクスポートする方法

newman run collectionPreReq.json -e Environment.json -k --export-environment newmanExport.json 

をcollectionPreReqによってエクスポートされたが、私が探しているものを得ていない、コードが

var newman = require('newman'); 

newman.run({ 
    collection: require('./collectionPreReq.json'), 
    //reporters: 'cli', 
    environment: require('./Environment.json'), 
    insecure: true 
}).on('start', function (err, args) { 
    console.log('running a collection...'); 
}).on('done', function (err, summary) { 
    if (err || summary.error) { 
     console.error('collection run encountered an error.'); 
    } 
    else { 
     console.log('collection run completed.:'); 
     console.log("summary environment :"); 
     console.log(summary.environment); 
    } 
}); 

出力です:

running a collection... 
collection run completed.: 
summary environment : 
{ object: [Function], toJSON: [Function] } 

答えて

0

不可ごとNodeJS documentation

process.envプロパティは、ユーザ 環境を含むオブジェクトを返します。 environ(7)を参照してください。

{ 
    TERM: 'xterm-256color', 
    SHELL: '/usr/local/bin/bash', 
    USER: 'maciej', 
    PATH: '~/.bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin', 
    PWD: '/Users/maciej', 
    EDITOR: 'vim', 
    SHLVL: '1', 
    HOME: '/Users/maciej', 
    LOGNAME: 'maciej', 
    _: '/usr/local/bin/node' 
} 

このオブジェクトを変更することが可能であるが、そのような修飾はNode.jsのプロセス外 が反映されません。

このオブジェクトの例は、のように見えます。言い換えれば、次 の例では動作しません:

$ node -e 'process.env.foo = "bar"' && echo $foo

0

このニューマンオプションexportEnvironmentを使用してみてください:必要

のようなJavaScriptのファイルに( './ Environment.json')
newman.run({ 
    collection: require('./collectionPreReq.json'), 
    //reporters: 'cli', 
    environment: require('./Environment.json'), 
    exportEnvironment: require('./Environment.json'), 
    insecure: true 
}).... 

確かに、このステートメントは機能します。

関連する問題