1

newman api を使用して郵便配達員のテスト スーツを実行しています。期待どおりに正しく実行されますが、テスト実行中に生成された環境変数をファイルにエクスポートしたいのですが、コマンドラインで --export-environment を使用して実行できます。

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

同じように、collectionPreReqによってエクスポートされた環境を取得するためにjavascriptを書いていますが、探しているものを取得していません。コードは

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] }
4

3 に答える 3

0

NodeJS のドキュメントでは不可能です。

process.env プロパティは、ユーザー環境を含むオブジェクトを返します。環境 (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

于 2016-10-08T07:37:52.320 に答える