2017-05-06 31 views
0

私は、実行時に完全に動作する事前定義されたオプション(例:--foo = "bar"、--foo = "car"など)の動的値を受け入れるテストセットアップを持っていますコマンドライン。nightwatch.runnerへのコマンドライン引数の受け渡し

これは動作します:

./node_modules/nightwatch/bin/nightwatch ./tests/test.js --env "production" --foo="bar"

をしかし、私はノードアプリ内からテストを呼び出したいが、非常に私のテストに渡される追加のパラメータを取得するように見えることはできません。私のテストは正しく初期化されますが、余分なパラメータを取得できないために失敗します。

try { 
    const nightwatch = require('nightwatch'); 

    const argv = { 
     config: 'nightwatch.json', 
     test: 'test.js', 
     env: 'default', 
     foo: 'bar', 
    }; 

    const done = function() { 
     console.log('nightwatch complete'); 
    }; // your callback function 

    const settings = {}; 

    nightwatch.runner(argv, done, settings); 

} catch (error) { 
    console.log('Exception:' + error.message); 
} 

あなたが提供できるすべてのヘルプをいただければ幸いですのでnightwatch.runnerまたはnightwatch.cliのための全くドキュメントはないように思えます。

+0

'node_modules/nightwatch/bin/runner.js'に' Nightwatch.runner(argv) 'の前に' console.log(argv) 'を追加して、いくつかのコマンドを実行してみてください。デバッグ出力は、 'argv'からいくつかのフィールドが欠落していることを示唆しています。 –

+0

おかげで、それはうまくいかなかったけど、私を正しい道に導いてくれました。 – user1411251

答えて

0

それはどこ設定されますか見てチャンスをうかがっの多くを取ったが、最終的に私は設定で遊んでみましたオブジェクトと、私はそうのようなグローバルのPARAMをオーバーライドすることができることを実現:

var settings = { 
    globals: { 
     foo: 'one', 
     bar: 'two' 
    } 
}; 

これはおそらく」にISNここで設定オブジェクトの意図された機能は、それは私のために働いた。

try { 
    const nightwatch = require('nightwatch'); 

    const argv = { 
     config: 'nightwatch.json', 
     test: 'test.js', 
     env: 'default', 
     foo: 'bar', 
    }; 

    const done = function() { 
     console.log('nightwatch complete'); 
    }; // your callback function 

    var settings = { 
     globals: { 
      foo: 'one', 
      bar: 'two' 
     } 
    }; 

    nightwatch.runner(argv, done, settings); 

} catch (error) { 
    console.log('Exception:' + error.message); 
} 

この渡って来る誰もが興味を持っているならば、私はgithub上の非常に単純なバージョンを掲載。

関連する問題