这允许您使用电子表格来定义对django测试客户机发出请求的django单元测试。
django_csv_tests的Python项目详细描述
这允许您使用电子表格来定义对django测试客户机发出请求的django单元测试。灵感来自机器人框架。
安装
从pypi获得最新的稳定版本
pip install django_csv_tests
安装应用程序
INSTALLED_APPS=(...,'django_csv_tests',)
用法
创建一个csv文件,文件头为“test name”,“expect failure”,“login as”, “url”,“method”,“querystring”,“post body”,“expect status”, “期望标题”。然后创建一个测试文件,如:
importosfromdjango.contrib.authimportget_user_modelfromdjango.testimportTestCasefromdjango_csv_testsimportgenerate_testsclassTheTestCase(TestCase):defsetUp(self):self.user=get_user_model().objects.create_user(username='john.doe',email='john@doe.com',password='password')csv_path=os.path.join(os.path.dirname(__file__),'tests.csv')generate_tests(csv_path,TheTestCase)
您可以将测试定义为具有关联断言的请求序列。一个 测试是用一个测试名称和一个或多个描述对 制造。如果一行没有测试名,则表示该请求已定义 在该行上是最后一个命名测试的一部分。
列值
测试名称
用于命名测试的字符串。
预期失败
用于指示测试是否预期失败的布尔值。任何非零 长度字符串表示真。一个简单的方法是在电子表格中输入如下 “X”。
登录为
一个json编码的字符串,提供要记录的用户的用户名和密码 在AS中。它作为关键字参数传递给 django.contrib.auth.authenticate().示例:{“username”:“john.doe”, “password”:“password”}。
网址
应向其发出请求的URL。
方法
一种http方法。支持get和post。
查询字符串
一个json编码的字符串,包含querystring键和值。这就变成 request.GET。
柱体
一个json编码的字符串,包含要在post请求中提交的数据。这是 仅在方法为post时使用。这变成request.POST。
预期状态
响应所需的http状态代码。
预期标题
一个json编码的字符串,包含头键和 回应。示例:重定向响应可以具有头 {“位置”:“http://testserver/new_location/”}
待办事项
- 实现“expect context”、“expect session”和“expect”指令。
运行测试
./configure.sh source venv/bin/activate python django_csv_tests/tests/manage.py test