1

Jythonで解決すべき問題があります。私が持っている関数は次のようになります:

ok = whatever1(x, ...)
self.assertTrue("whatever1 failed: "+x...(), ok)

ok = whatever2(x, ...)
self.assertTrue("whatever2 failed: "+x...(), ok)

[ many many lines ] ...

このように見えるテストはたくさんあり、ほとんどがok = ...テストが含まれていますが、他にもいくつかのテストが行​​われています。1つの名前空間からのみ取得されるため、テスト可能な関数はわかります(または、「ok =」の部分を残すことができます)。問題は、ソースを自動的に変換する方法です。そのため、私は次のように記述します。

ok = whatever1(x, ...) # this is transformed
ok = whatever2(x, ...) # this too
something_else(...) # this one isn't

残りは自動的に生成されますか?

私はunparseとastについて知っています-この問題に取り組むためのより良い方法はありますか?(ええ、私は知っています-多分-モナドのように)私もrope図書館を見ているので決定できません...ここで選択するのに最適な方法はどれですか?私が説明した変換は私が必要とする唯一のものであり、実際のコードに含まれる一時ファイルを作成してもかまいません。

4

1 に答える 1

2

ASTが必要ですか?関心のある行が「ok=」で始まる行だけである場合、ソースファイルでの単純な文字列作業で十分でしょうか?

于 2009-09-18T01:04:26.210 に答える