04 2022 档案
摘要:在之前,我分享过unittest系列,后来有很多人问我,能不能出pytest的教程,正好最近在整理pytest相关的资料,那么,就趁着这个机会,去和大家分享一下pytest系列。 pytest是一个非常成熟的全功能的Python测试框架。那么他有什么优点呢。 pytest优点 入门简单,文档丰富 支
阅读全文
摘要:我们在之前讲了单元测试,这次我们分享下一部分接口的接口测试。 那么我们看来看下对应的接口怎么测试。 那么我们去设计对应的登陆用例,由于接口我们之前开发过,我们参照之前的接口开发的代码进行用例设计。 1.登陆用户不存在。 输入参数: self.parame = { "username": "liwan
阅读全文
摘要:完整的接口已经开发完成了,那么我们需要对接口进行但愿测试,如何做呢,本文就带着大家去实现下 我们可以先来看下,我们注册的接口的相关的文章,回忆下注册接口的代码。 FastAPI(六十六)实战开发《在线课程学习系统》接口开发--用户注册接口开发。 我们来分析下接口: 在借口的文档上面我们已经对接口做了
阅读全文
摘要:一、课程上架 我们梳理看下上架的逻辑 1.判断是否登录 2.判断角色权限 3.判断课程是否存在 4.判断课程是否上架 5.判断是否是自己的课程 那么我们看下如何实现? @courseRouter.get(path="/onshelf/{id}") async def offshelf(id:int,
阅读全文
摘要:一、推荐课程列表 这里的初步逻辑很简单, 点赞数大于>500 那么我们看下crud def getlikeCourse(db:Session): return db.query(Course).filter(Course.likenum>500, Course.onsale==True).all()
阅读全文
摘要:一、查询所有课程列表 逻辑就是返回所有课程 那么对应的crud def getallcourse(db:Session): return db.query(Course).filter(Course.status == True).all() 接口的实现代码 @courseRouter.get("/
阅读全文
摘要:我们先看下加入课程 梳理下对应的逻辑 1.判断是否登录2.判断课程是否存在3.判断是否已经在列表4.成功添加 进入正式的开发,我们首先看下curd def get_student(db: Session, couese: int,user:int): return db.query(Studentc
阅读全文
摘要:梳理下思路: 1.判断是否登录 2.判断课程是否存在 3.如果回复查看回复的是否存在 4.校验是否有权限 5.评论成功 对应的pydantic类如下 class Coursecomment(BaseModel): id: int comments: str pid: Optional[int] 对应
阅读全文
摘要:首先来看下课程编辑: 那么我们编辑就变的简单了。逻辑如下。 1.判断是否登录2.判断课程是否存在3.课程名称是否重复 在基础的pydantic的Courses类,增加一个id class CoursesEdit(Courses): id:int 具体最后的代码 @courseRouter.put(p
阅读全文
摘要:这个接口用户可以不用登录,因为我们的课程可以随便的人都可以预览。 那么我们梳理下这里面的逻辑 1.根据id判断课程是否存在2.课程需要返回课程的详情3.返回课程的评论我们去设计对应的课程详情的pydantic 类。 class CoursesCommentBase(BaseModel): users
阅读全文
摘要:上次我们分享了,FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言 还是按照惯例,我们去梳理下对应的逻辑 1.判断用户是否登陆 2.校验是否有权限 3.校验参数是否完整 4.查询课程是否存在 5.创建课程 课程我们需要单独创建一个新的路由来管理 我们在routers去创建co
阅读全文
摘要:之前文章FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 我们来梳理下这里的逻辑 1.用户需要登录 2.请求携带留言的id 3.判断删除留言是否存在 4.存在则删除 那
阅读全文