testability-explorer是一个用来测量java程序单元测试难度的工具。有没有这样的Python工具?
发布于 2011-01-18 21:40:42
由于Python是一种动态语言,“检查”字节码可能会发现几乎没有什么有用的东西。Python程序可以使用exec、execfile()和__import__()来“即时”引入代码,从而破坏字节码分析。
不可模拟的总递归圈复杂度。假设字节码实际上是正在执行的所有代码,则可以计算总递归圈复杂度。然而,不可mockable的概念并不适用于Python。Python提供了猴子补丁,这使得在Python中模拟几乎任何东西都非常容易。
假设涉及到exec、execfile()和__import__()操作,这意味着计算实际总圈复杂度的唯一方法是分析和执行的组合。
全局可变状态。有模块全局变量和适当的global全局变量。模块全局变量是“自由变量”,可以通过检查字节码找到。global全局变量都专门用global标记,并且可以像字节码一样容易地在源代码中找到。
德米特定律。这个是感兴趣的,可以通过检查字节码找到。然而,上面的警告也适用。只有在没有exec、execfile()或__import__()操作的情况下,它才有用。
由于可测试性浏览器中的大多数分析不能轻松地应用于Python,因此人们不会花费大量时间来编写这样的工具也就不足为奇了。
https://stackoverflow.com/questions/4722766
复制相似问题