14

私はpythonのユニットテストフレームワークからノーズテストに切り替えて、私unittest.TestCaseのsを再利用しようとしています

テスト パッケージに ing した後、ホームページに記載されているように、cd nosetests を開始しました。

./test/$ nosetests

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

次の例のように、nose にテストを検出させるために各モジュールを指定する必要があるのはなぜですか?

./test/$ nosetests test_all.py
.......
----------------------------------------------------------------------
Ran 7 tests in 0.002s

OK

また、1 フォルダー上のテストを実行しても、何も変わりません。

./tests/$ cd ..
./$ nosetests

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
4

3 に答える 3

16

あなたのリポジトリで、少なくとも一部のファイルが実行可能であることを確認できます。これが少なくとも問題の一部です。デフォルトでは、nose はそれらを収集しません。インポート時に何か破壊的なことを行う可能性のあるスクリプトの実行を回避しようとしています。--exe フラグを試すか、テスト ファイルから実行可能ビットを削除してください。

于 2012-09-19T15:06:27.257 に答える
1

私の場合、テストファイルの最後に次の行がありました。

unittest.main()

これをすべてのテストから削除すると、問題が解決しました。

于 2015-04-27T18:13:08.793 に答える
1

そのパッケージ内のすべてのテストをノーズに実行させたい場合は、その上のディレクトリにいる必要があります。

于 2012-09-13T13:06:41.127 に答える