1

我有一个问题要在 Jython 中解决。我得到的功能如下所示:

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也在看图书馆,无法决定......在这里选择哪种方式最好?我描述的转换是我唯一需要的转换,我不介意创建一个将包含在真实代码中的临时文件。

4

1 回答 1

2

你确定你需要一个AST吗?如果唯一感兴趣的行是以“ok =”开头的行,那么对源文件进行简单的字符串处理就足够了?

于 2009-09-18T01:04:26.210 回答