1

以前にこの質問をしたことがありますが ( Nose2 に Python 3.5 の代わりに Python 2.7 を使用するように強制します)、答えが得られず、もう一度試してみるかもしれないと考えました。コマンドを使用してテストを実行しようとしています

nose2

しかし、私はで終わるエラーが発生しています

SyntaxError: Missing parentheses in call to 'print'

この場合は Python 2 であるのに対し、nose2 はコードが Python 3 であると想定しているようです。Pythonnose2 2 コードで動作させる方法はありますか? (たとえば、構成を変更することによって)?

4

1 に答える 1

3

nodes2 は、シェバン行で構成されているすべての python を取ります。

python2 プロジェクトの使用をテストするには (実行可能ファイルとパスはマシンによって異なる場合があります):

python2.7 /usr/local/bin/nose2

この例で検証:

test.py :

def test_the_program():
    print "foo"

python3 で:

$ python3 /usr/local/bin/nose2
======================================================================
ERROR: test (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test
    (...)
    print "hans"
               ^
SyntaxError: Missing parentheses in call to 'print'


----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)

python2.7 で:

$ python2.7 /usr/local/bin/nose2
foo
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
于 2017-01-11T12:14:46.227 に答える