Jon*_*lls 20 c python swig unit-testing
我有一堆C代码,我想使用Python的unittest库(在Windows中)进行单元测试,但我正在尝试找出连接C代码的最佳方法,以便Python可以执行它(和得到结果).有没有人以最简单的方式做到这一点?
一些想法包括:
这样做有规范的方法吗?我将使用不同的C模块进行相当多的操作,所以我想找到一种最省力的方法.
我认为确切的解决方案取决于您的代码.并非所有库都适合作为DLL包装.如果你是,那么ctypes肯定是最简单的方法 - 只需从你的库中制作一个DLL,然后用它来测试它ctypes.另外一个好处是,您现在可以将您的库方便地包装为独立的DLL,这有助于解耦您的应用程序.
但是,有时候,您的C代码和测试Python代码之间需要进行更彻底的交互.然后,最好将它作为一个扩展来挂钩,对于这个扩展,SWIG是一个非常好的工具,可以自动消除你对这个过程感到无聊的大多数事情.