最新記事

ディレクトリ内のすべての Python ユニットテストを実行するにはどうすればいいですか? 質問する
python
unit-testing
testing
python-unittest

ディレクトリ内のすべての Python ユニットテストを実行するにはどうすればいいですか? 質問する

Python ユニット テストを含むディレクトリがあります。各ユニット テスト モジュールは、test_*.pyという形式です。私はall_test.pyというファイルを作成しようとしています。これは、ご想像のとおり、前述のテスト形式のすべてのファイルを実行し、結果を返します。これまでに 2 つの方法を試しましたが、どちらも失敗しました。2 つの方法を紹介します。これを正しく実行する方法を知っている人がいれば幸いです。 最初の勇敢な試みとして、私は「ファイル内のすべてのテスト モジュールをインポートして、このunittest.main()doodad を呼び出せば、動作するはずだ」と考えました。しかし、それは間違いでした。 import glob import unittest testSuite = unittest.TestSuite() test_file_strings = glob.glob('test_*.py') module_strings = [str[0:len(str)-3] for str in test_file_strings] if __name__ == "__main__": unittest.main() これは機能しませんでしたが、次のような結果になりました: $ python all_test.py ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK 2 回目の試みとして、このテスト全体をもっと「手動」で実行してみようと思いました。そこで、以下のように実行してみました。 import glob import unittest testSuite = unittest.TestSuite() test_file_strings = glob.glob('test_*.py') module_strings = [str[0:len(str)-3] for str in test_file_strings] [__import__(str) for str in module_strings] suites = [unittest.TestLoader().loadTestsFromName(str) for str in module_strings] [testSuite.addTest(suite) for suite in suites] print testSuite result = unittest.TestResult() testSuite.run(result) print result #Ok, at this point I have a result #How do I display it as the normal unit test command line output? if __name__ == "__main__": unittest.main() これもうまくいきませんでしたが、かなり近いようです! $ python all_test.py ]>]>]> ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK 何らかのスイートがあり、結果を実行できるようです。 しかないと表示されているのが少し心配です。 であるrun=1べきだと思いますrun=2が、これは進行中です。しかし、結果を main に渡して表示するにはどうすればよいでしょうか。または、基本的にこれを動作させて、このファイルを実行し、その際にこのディレクトリ内のすべてのユニット テストを実行できるようにするにはどうすればよいでしょうか。

Admin

defaultdict の defaultdict? 質問する
python
collections

defaultdict の defaultdict? 質問する

defaultdict(defaultdict(int))次のコードを動作させるためにを使用する方法はありますか? for x in stuff: d[x.a][x.b] += x.c_int dx.aおよび要素に応じてアドホックに構築する必要がありますx.b。 以下を使用できます: for x in stuff: d[x.a,x.b] += x.c_int しかし、そうすると次のものが使用できなくなります: d.keys() d[x.a].keys()

Admin

辞書をキーワードパラメータとして関数に渡す 質問する
python
function
dictionary
parameters
keyword

辞書をキーワードパラメータとして関数に渡す 質問する

パラメータに一致するキーと値のペアを持つ辞書を使用して、Python で関数を呼び出したいと思います。 ここにコードがあります: d = dict(param='test') def f(param): print(param) f(d) これは印刷されます{'param': 'test'}が、単に印刷したいだけですtest。 より多くのパラメータに対して同様に動作するようにしたいと思います: d = dict(p1=1, p2=2) def f2(p1, p2): print(p1, p2) f2(d) これは可能ですか?

Admin

Pythonで複数の空白を単一の空白に置き換える [重複] 質問する
python
substitution
removing-whitespace

Pythonで複数の空白を単一の空白に置き換える [重複] 質問する

この質問に対する回答は既にここにあります : 文字列内の複数のスペースを削除する簡単な方法はありますか? (27件の回答) 9年前に 閉鎖されました 。 次のような文字列があります: mystring = 'Here is some text I wrote ' 二重、三重 (...) の空白文字を単一のスペースに置き換えるにはどうすればよいでしょうか。 mystring = 'Here is some text I wrote'

Admin

Pythonでリストのリストを結合する [重複] 質問する
python

Pythonでリストのリストを結合する [重複] 質問する

この質問に対する回答は既にここにあります : リストのリストからフラット リストを作成するにはどうすればよいですか? (32件の回答) 8年前に 閉鎖されました 。 Python でリストのリストを単一のリスト (または反復子) に結合するための短い構文はありますか? たとえば、次のようなリストがあり、a、b、c を反復処理したいとします。 x = [["a","b"], ["c"]] 私が思いつく最善のものは次のとおりです。 result = [] [ result.extend(el) for el in x] for el in result: print el

Admin

シングルトンを定義するシンプルでエレガントな方法はありますか? [重複] 質問する
python
design-patterns
singleton

シングルトンを定義するシンプルでエレガントな方法はありますか? [重複] 質問する

この質問に対する回答は既にここにあります : Pythonでシングルトンを実装する最良の方法は何ですか (42件の回答) 6年前に 閉鎖されました 。 定義する方法はたくさんあるようですシングルトンPython で。Stack Overflow で意見が一致しているでしょうか?

Admin

並列リストから対応する値に従ってリストをソートする [重複] 質問する
python
list
sorting

並列リストから対応する値に従ってリストをソートする [重複] 質問する

この質問に対する回答は既にここにあります : 並列リストがある場合、一方を並べ替えながら、もう一方を同じように並べ替えるにはどうすればよいでしょうか。 (16件の回答) 昨年 閉店しました 。 次のような文字列のリストがあります: X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1 ] Y の値を使用して X をソートし、次の出力を得るための最も短い方法は何ですか? ["a", "d", "h", "b", "c", "e", "i", "f", "g"] 同じ「キー」を持つ要素の順序は重要ではありません。for構造を使用することもできますが、もっと短い方法があるかどうか知りたいです。何か提案はありますか?

Admin

PEP8 の E128: 視覚的なインデントのために継続行をインデント不足にするとは何か? 質問する
python
sublimetext2
pep8

PEP8 の E128: 視覚的なインデントのために継続行をインデント不足にするとは何か? 質問する

Sublime Text (Sublime Linter 付き) でファイルを開いたところ、今まで見たことのない PEP8 フォーマット エラーに気づきました。テキストは次のとおりです。 urlpatterns = patterns('', url(r'^$', listing, name='investment-listing'), ) 2番目の引数、つまりurl(...) ST2 でこのチェックを無効にしようとしていましたが、無視する前に何が間違っているのかを知りたいです。重要だと思えばやり方を変えるかもしれません :)

Admin