这半年有相当一部分工作是维护公司的网站,由于是半路接手的代码,难保维护的时候不带来新的bug,因此根据领导的要求,学习了如何进行自动测试。
测试使用的是python下使用最多的测试框架,pytest。
框架使用非常简单,创建以test_
开头的文件,然后在其中编写以test_
开头的函数之后,在函数内写测试代码,并加上assert
断言就能完成最基本的测试了:
1 | BASE_URL = 'http://127.0.0.1:4567' |
在实际测试的过程中,我们可能会需要设置一些在不同测试间共用的信息,比如我要测试的API全都是要登录验证才能使用的,因此正好使用pytest的fixture
系统,在测试开始前先获取登录token,然后每个测试函数都用同样的token来访问API:
1 |
|
这里,被设定为fixture
的函数,其函数名可以作为测试函数的参数直接传到测试函数中去,不需要做额外的操作。
另外还可以在测试文件夹创建一个特殊文件conftest.py
,将整个测试需要共享的fixture
都放在里面,这样在其他测试文件中,不需要手动导入,也可以直接使用设定过的fixture
。