Re: [问题] Testify Pythoinc的单元测试框架

楼主: uranusjr (←這人是超級笨蛋)   2014-12-05 09:45:14
※ 引述《yshihyu (yshihyu)》之铭言:
: http://segmentfault.com/a/1190000000358572
: 最近在研究 unit test 看到有人使用 python 做单元测试 C/C++
: 将 C/C++ 编译成 so 动态函数库 , 在使用ctypes 的CDLL 加载so
: 进行单元测试 , 那我看网络上还有提到 Testify 可以取代 python 的 unittest
: 有想个问题想请问一下有使用过的朋友
: 1. Testify 能完成取代 unittest?
这里说 Testify 是 Go 的那个?
单元测试其实就那样而已, 要取代都是可以取代
用 Python 的其中一个好处是可以直译, 测试流程简单很多
但另一方面可以直接引入 C/C++ 也是有它的好处(往下看)
: 2. 使用 ctypes的 CDLL加载so 做单元测试
: 跟 gtest , cppunit , cunit 相比较之下有什么缺点 or 限制吗?
好处上面有讲了一个
不用另外建立 test target 可以大幅简化你的开发流程
只要有动态函式库一切就简单了
不用像原生解还要让测试程式找到 headers/sources 来编译
在组织专案档案架构的时候很方便
但 ctypes 引入 C++ 非常麻烦, 而且结果会绑定 compiler
对跨平台 C++ 函式库而言基本上不可行
另一方面要用 ctypes 就代表你要有个函式库
如果你的专案成品是 executable, 可能会需要多写本来不必要的程式
当然要直接测 executable 也是办得到
但那样就不是 unit test 而比较像 behavioural test 了
所以这也要看你的专案本身性质而定

Links booklink

Contact Us: admin [ a t ] ucptt.com