毫无疑问,官方文档是最好的资料,但是资料仅仅局限于资料,我们如何快速的对官方文档中提到的知识点进行实验呢,那就是研究django源码的单元测试部分,这个文档直接照着文档步骤做是走不通的或者说不是太仔细,需要加以推敲,特此在这里梳理一下能走通的过程
-
首先我们django源项目clone到本地
-
进入到django项目中的tests目录
cd D:my_projectdjango-mastertests
-
安装我们的django项目,并下载好对应的依赖
注意-e 的方式安装后的django的对应路径也就是我们的D:my_projectdjango-master路径python -m pip install -e .. python -m pip install -r requirements/py3.txt
-
这个tests目录下对应的测试用例相当丰富,完全可以让一个新手或者是一个熟手在其中找到对应功能点的解决方案,可能该方案不全,但是我可以基于该tests目录下的用例快速熟悉django中的某个功能点或者基于它进行扩展
-
我们拿其中的文件上传这个模块来进行调试一下
-
我们如何对步骤5中的文件上传模块进行调试呢?
- 命令行配置如下图,如果我们是要一次性的对tests/file_uploads下的所有用例进行测试,命令配置行就如下图。
–verbosity,设置0时为最小输出, 1正常输出, 2详细输出测试信息
–settings是用来配置数据库的,默认是用sqlite的,如果我们要用其它的类型数据库,可以参考官方文档进行配置,这里我们为了测试就用默认的sqlite配合测试了
最后我们的file_uploads.tests.FileUploadTests即为我们要调试的模块
- 如果我们要对某一个单独的用例进行测试时,比如我们只想跑一下file_uploads中的某一个用例test_large_upload,则需要把file_uploads.tests.FileUploadTests,替换为file_uploads.tests.FileUploadTests.test_large_upload
3.断点调试 test_large_upload
- 命令行配置如下图,如果我们是要一次性的对tests/file_uploads下的所有用例进行测试,命令配置行就如下图。



