当前位置: 首页 > news >正文

python怎么测试c代码_可以使用基于Python的单元测试框架和跑步者来测试C代码

当然你可以….但是你必须编写一个绑定来调用你的C代码在python(例如

ctypes),并在python写这些测试(这是真的可能和一个简单的方法来做智能测试)

示例:

>写一个虚拟C库.

foolib.c

int my_sum(int , int);

int my_sum(int a , int b);

{

return a + b;

}

>将其编译为共享库:

gcc -shared -Wl,-soname,foolib -o foolib.so -fPIC foolib.c

>用ctypes编写包装器:

foolib_test.py

import ctypes

import unittest

class FooLibTestCase(unittest.TestCase):

def setUp(self):

self.foolib = ctypes.CDLL('/full/path/to/foolib.so')

def test_01a(self):

""" Test in an easy way"""

self.failUnlessEqual(4, foolib.my_sum(2, 2))

然后,当用鼻子运行这个测试时,你应该有一个很好的测试你的C代码:)

相关文章:

  • nginx 跨域访问配置_nginx配置用户访问认证
  • python爬虫xpath教程_Spider-Python爬虫之XPath 教程
  • python常见报错类型_python打印错误类型
  • 华为官方解锁工具_开启“应用锁”和“健康使用手机密码”的华为,哪个功能对于用户隐私更安全?...
  • vant coupon 时间戳如何计算_flink入门(八)中的时间戳如何使用?Watermark使用及原理...
  • python按esc结束循环_當按ESC鍵時,立即讓python退出程序
  • python 元组和列表区别_Python高级数据类型之列表、元组
  • 微软商店账户登录一直转圈_Win 10再曝致命BUG,微软:暂不清楚问题根源
  • vlookup两个条件匹配_自从学会了INDEX+MATCH,我就再也不用VLOOKUP了
  • 32位svn 64位操作系统_如何选择安装32位系统还是64位系统
  • python生产和消费模型_Python线程+队列实现生产消费模型,Pythonthreadingqueue
  • python中变量_Python中的变量与常量
  • 安卓工控主板运行时会自动重启_安卓工控机发展已入高峰 自主可控将成会为发展关键...
  • python性能测试方法_Python性能测试之performance
  • opencv 多线程_深度学习和OpenCV对象检测(MobileNet SSD多进程视频流实时识别)
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 11111111
  • Asm.js的简单介绍
  • CentOS7简单部署NFS
  • HomeBrew常规使用教程
  • javascript 哈希表
  • JavaScript创建对象的四种方式
  • JavaScript设计模式之工厂模式
  • Java到底能干嘛?
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • tab.js分享及浏览器兼容性问题汇总
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • Windows Containers 大冒险: 容器网络
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 小程序测试方案初探
  • 一起参Ember.js讨论、问答社区。
  • 正则与JS中的正则
  • scrapy中间件源码分析及常用中间件大全
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • $GOPATH/go.mod exists but should not goland
  • (+4)2.2UML建模图
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (java)关于Thread的挂起和恢复
  • (ZT)一个美国文科博士的YardLife
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (三)c52学习之旅-点亮LED灯
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .Net 垃圾回收机制原理(二)
  • .NET 设计一套高性能的弱事件机制
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET4.0并行计算技术基础(1)
  • .Net多线程总结