Python Unit Test - 3 pydoc
Python test unit
2023-09-14 09:10:54 时间
为你的代码(code)文件写下足够的注释(comment)。
还是先把pydoc提前进行学习和了解。进行unit test,如果不知道unit的对像是如何实现(参数、结构、功能)的,该如何下手?
进行python学习过程中,每一个lib或是BIF学习多数时间都是通过help进行的,而这些完全依赖于python自身完善的docstring(__doc__ 和 pydoc),完备的comment(注释)。
进行单元测试的前提是要了解测试的函数和方法,知道基本的参数、限制条件、异常处理,才能有针对性的设计测试数据对被测对像进行验证(assert)。
一篇优秀的doc对学习者是绝对的福音,对使用者是绝对的天堂。就像java doc一样,python也有这样的python doc,详尽但缺少了点调用实例,做Unit或API测试足够了。
补充小点
- Unit Test,单元测试测什么?函数、类方法
- API Test和Unit Test一样吗?
相似:都需要了解底层实出源代码,进行基础功能实现的测试;
区别:API测试还需要进行应用层的测试,也就是API是暴露给用户进行调用(Application Protocal Interface,应用程序接口,从名称中也可以反映)。
More:其实在同一系统中不同模块间的调用也是interface(接口),这里调用的方法需要进行单元测试(白盒测试),因此在系统层面会有集成测试(黑盒测试)。也许这就是C/S和B/S设计的区别。 - Module(独立的python文件),Package(python module文件集合/目录
1. pydoc
pydoc是一个独立的模块,因此使用时需要import(当然也可以通过python -m 执行),用来生成python模块的文档信息,并通过html文件形式输出;对于package使用pydoc会生成完成的文件目标。所有的文件均可以通过web访问。
python中的module、class、function、method都会从其__doc__中获得docstring对像,或者从其文件组成块(block)的最上面的注释(comment)中生成pydoc.
使用help()可以显示与pydoc相同的对像说明。
2. 示例代码
"""
This is python Modulce / File doc DESC. # file: pydc.py
"""
def funcdoc():
"""
This is python Function doc DESC.
"""
print("function")
class classdoc:
"""
This is python Class doc DESC.
"""
def methoddoc(self):
"""
This is python Method doc DESC.
"""
print("method")
if __name__ == "__main__":
funcdoc()
cla = classdoc()
cla.methoddoc()
3. doc显示
- python __doc__
>>> import pydc
>>> from pydc import funcdoc
>>> from pydc import classdoc
>>> pydc.__doc__
'\nThis is python Modulce / File doc DESC.\n'
>>> funcdoc.__doc__
'\n This is python Function doc DESC.\n '
>>> classdoc.__doc__
>>> classdoc.methoddoc.__doc__
'\n This is python Method doc DESC.\n '
- Help doc
>>> import pydc
>>> help(pydc)
Help on module pydc:
NAME
pydc - This is python Modulce / File doc DESC.
CLASSES
builtins.object
classdoc
class classdoc(builtins.object)
| This is python Class doc DESC.
|
| Methods defined here:
|
| methoddoc(self)
| This is python Method doc DESC.
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
FUNCTIONS
funcdoc()
This is python Function doc DESC.
- pydoc console显示
>python -m pydoc pydc
Help on module pydc:
NAME
pydc - This is python Modulce / File doc DESC.
CLASSES
builtins.object
classdoc
class classdoc(builtins.object)
| This is python Class doc DESC.
|
| Methods defined here:
|
| methoddoc(self)
| This is python Method doc DESC.
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
FUNCTIONS
funcdoc()
This is python Function doc DESC.
- pydoc html显示
python -m pydoc -w pydc # 生成 web 文件
wrote pydc.html
- pydoc web显示 -- 显示当前文件夹下python文件的doc 和 python BIF的doc
>python -m pydoc -n localhost -p 3000 pydc
Server ready at http://localhost:3000/
Server commands: [b]rowser, [q]uit
server> b
相关文章
- pycharm使用python_pytorch中文手册
- Python项目47-前后端分离登录注册页(继续撸)
- Python获取时间戳_python爬虫时间戳
- 如何为pycharm配置Python解释器_pycharm选择python解释器
- python的进制转换器,Python进制转换[通俗易懂]
- python解压bz2文件命令,在Python中解压缩.bz2文件
- Python 数字图像处理-从 scikit-image 库开始学习
- python解析xps文件_xps文件的基本操作
- 八种用Python实现定时执行任务的方案,一定有你用得到的!
- python海龟作图画爱心_python1|海龟作图法
- Python自动化办公小程序:实现报表自动化和自动发送到目的邮箱
- Python数据结构(二)·单链表
- 机器学习基础:缺失值的处理技巧(附Python代码)
- python之pandas简单介绍及使用(一)「建议收藏」
- python怎么对齐输出_关于python格式对齐的问题
- pycharm如何调试python程序_Pycharm断点调试Python程序的步骤方法
- eval在python中是什么意思_如何在Python中使用eval ?
- 【7】python_matplotlib 输出(保存)矢量图方法;画图时图例说明(legend)放到图像外侧;Python_matplotlib图例放在外侧保存时显示不完整问题解决
- 【测试开发】python系列教程:Python 推导式
- Python小案例(五)循环判断进行分组
- python通过正则获取网页上的全部链接详解编程语言
- Linux下安装Python的指南(linux下安装python)
- Linux下使用Python开发体验之旅(linux使用python)
- Python与MongoDB 无缝连接(python连接mongodb)
- Connecting to MSSQL with Python: A Comprehensive Guide for Beginners(python连接mssql)
- python数据加密代码