1
我有一個問題需要在Jython中解決。我已經得到了功能如下:轉換Jython的源代碼/ ast
ok = whatever1(x, ...)
self.assertTrue("whatever1 failed: "+x...(), ok)
ok = whatever2(x, ...)
self.assertTrue("whatever2 failed: "+x...(), ok)
[ many many lines ] ...
有許多測試,這個樣子,他們主要包含OK = ...測試,但也有過做一些其他的事情。我知道哪些函數是可測試的,因爲它們只來自一個名稱空間(或者我可以保留「ok =」部分)。問題是 - 如何自動轉換源代碼,以便我只寫:
ok = whatever1(x, ...) # this is transformed
ok = whatever2(x, ...) # this too
something_else(...) # this one isn't
其餘的是自動生成的?
我知道unparse和ast--有沒有更好的方法來解決這個問題? (是的,我知道 - 也許就像monad)我正在查看rope
圖書館,並且無法決定......在這裏選擇哪種方式是最好的選擇?我描述的轉換是我需要的轉換,我不介意創建一個臨時文件,它將包含在真實代碼中。
確實 - 這是一個好主意......雖然一些更有趣的語法可能會發揮作用,所以我會等待更多答案。 – viraptor 2009-09-18 01:32:20