2017-12-15 17 views

答えて

1

python myfile.py -b firefoxでスクリプトを呼び出すと、実際には引数パーザではなくunittestに移動します。

Unittestはあなたが与えた引数を解析しようとします。あなたがこのようにスクリプトを呼び出す場合:

python myfile.py --help 

あなたは有効なオプションを参照してください。

Usage: myfile.py [options] [test] [...] 
Options: 
    -h, --help  Show this message 
    -v, --verbose Verbose output 
    -q, --quiet  Minimal output 
    -f, --failfast Stop on first failure 
    -c, --catch  Catch control-C and display results 
    -b, --buffer  Buffer stdout and stderr during test runs 
Examples: 
    parse.py        - run default set of tests 
    parse.py MyTestSuite     - run suite 'MyTestSuite' 
    parse.py MyTestCase.testSomething  - run MyTestCase.testSomething 
    parse.py MyTestCase     - run all 'test*' test methods 
               in MyTestCase 

は、ヘルプの出力-bを見てみると(?Iが抑制推測)標準出力/標準エラー出力をバッファリングします。引数firefoxは、モジュールで実行するテストの名前とみなされます。そしてそれは、このエラー出力し、既存の何の機能methodありません:

AttributeError: 'module' object has no attribute 'firefox' 

は今、何をあなたはおそらくやりたいことtest_parserを呼び出すことですが、あなたはpython myfile.py WebuiSeleniumTest.test_parserで、あなたは追加の引数を渡すことができないことを行う場合。それはおそらく最後にあなたの質問です。ユニットテストとしてargparseをテストするためのいくつかの可能な解決法を与えるthis questionがあります。

+0

私の質問に答えるだけでなく、私がどこに間違っていたか教えてくれる素晴らしい答えです。まさに私が探していたもの。ありがとう、素晴らしい週末を! – thraizz

関連する問題