# 测试与部署作业补充说明 ## 环境相关 - scrypt安装失败的问题 可以参考[https://pypi.org/project/scrypt/](https://pypi.org/project/scrypt/)安装openssl - 建议不要在wsl里面运行exe的chromedriver,可以在windows里面试试 - 如果有遇到这个问题:create _static-volume: "_static-volume" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path,有可能是因为有中文路径,可以尝试把中文路径改为英文路径 - 跑代码风格可以排除一下venv目录 ## 补充说明 - 在部署时config.yml文件可以修改,但是不用提交到作业文件里 - 作业要求中“返回错误或缺失字段名(如有多个只需要按前述顺序返回第一个)”的前述顺序是指“register_params_check 函数,实现注册账号 API 参数的校验。接收参数如下”的参数顺序![](https://i.imgur.com/RGh0nD9.jpg) - 单元测试中的字段必填想表达的是让大家判断是否有这个字段,但是实际评测时测例中不会出现类似于nickname为""或者" ",测例保证是无nickname字段或者nickname字段为删除掉左右空格后长度大于等于1的字符串,所以大家判断nickname为""或者" "合法或者不合法都是可以的 - 单元测试部分中“行覆盖率不低于80%”是指checkers\user.py的覆盖率不低于80% ## 提交相关 - ==在提交时请撤销格式化工具自动修改的部分,请在执行打包命令前把zip.py里的'tests/test_selenium.py'改为’tests/test_e2e.py’, ‘zip.py’, ‘实验报告.pdf’== - 格式化工具部分需要提交能在本地正常运行的版本 ## 补充问题 - Q1: param_check里面需要考虑比如"password"这个key缺失的情况吗?对于这种情况是不是一般认为是向后端提交的form出现的问题而不是参数出现的问题,是不是不应该在param_check里面考虑? A1:需要考虑 - Q2: 论坛的发帖时间似乎要比UTF+8早八个小时(已按照作业说明文档中对MySQL的时区进行校正),请问这个会影响评测吗? - Q3: param_check 应该如何处理缺失字段,如没有 password 项?按照作业文档似乎需要返回 "password" 和 False。但是根据 test/test_api.py 中提供的示例代码,用缺失信息注册,预期返回 "bad arguments",这在注册过程中只能通过捕捉 KeyError 得到,而该异常只可能是 param_check 中抛出的,这似乎说明 param_check 需要抛出异常。应该选择哪一种处理方式?