django 自动化测试的故障排查
【问题背景】
django使用mysql做为后台数据库、在使用django的自动化测试命令test时报如下错误
python3 manage.py test polls
Creating test database for alias 'default'...
Got an error creating the test database: (, "Access denied for user 'appuser'@'127.0.0.1' to database 'test_tempdb'")
报错非常明显了appuser@'127.0.0.1'这个用户没根据
【收集信息与问题分析】
1、django的数据库配置信息如下
#以下是使用MySQL的配置
DATABASES = {
'default':{
'ENGINE': 'django.db.backends.mysql', # 后台数据库的类型
'HOST': '127.0.0.1', # 后台数据库所在主机的ip我这里用本机
'PORT': 3306, # 后台数据库所监听的端口
'USER': 'appuser', # 连接数据库的用户名
'PASSWORD': '', # 连接数据库的密码
'NAME': 'tempdb', # 数据库中的schema名字
}
}
从这里可以看出来test_tempdb并不是真正的后台数据库、它是一个在测试时临时用的数据库、那么问题就解决了我们要给appuser一个相对比较大的权限
就可以了,在这里我暴力一点直接给它一个all权限
【解决方案】
给appuser赋权
grant all on *.* to 'appuser'@'127.0.0.1';
【验证】
python3 manage.py test polls
Creating test database for alias 'default'...
System check identified no issues ( silenced).
E
======================================================================
ERROR: test_was_published_recently_with_future_question (polls.tests.QuestionModelTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/jianglexing/Desktop/mysite/polls/tests.py", line , in test_was_published_recently_with_future_question
time = datetime.now() + datetime.timedelta(days=)
AttributeError: module 'datetime' has no attribute 'now' ----------------------------------------------------------------------
Ran test in .004s FAILED (errors=)
Destroying test database for alias 'default'...
django 自动化测试的故障排查的更多相关文章
- 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
原贴如下 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查) 虽然我用的是PHPstudy部署的dedecms,还是一样栽倒这个坑里了. 总结经验:本地测试使用8000~9000的端口比较安全.
- Java线上应用故障排查之二:高内存占用
搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGen space 2.java.lang.OutOfMemoryError: Java ...
- paip.hql的调试故障排查流程总结
paip.hql的调试故障排查流程总结 环境.myeclipse7.0 1 Hql的调试工具myeclipxe默认工具.../Hibernate8IDE 1 故障的排除方法overview 1 Hql ...
- 使用strace工具故障排查的5种简单方法
使用strace工具故障排查的5种简单方法 本文源自5 simple ways to troubleshoot using strace strace 是一个非常简单的工具,用来跟踪可执行程序的系统调 ...
- 一次线上OOM故障排查经过
转贴:http://my.oschina.net/flashsword/blog/205266 本文是一次线上OOM故障排查的经过,内容比较基础但是真实,主要是记录一下,没有OOM排查经验的同学也可以 ...
- SQL Server 2008性能故障排查(四)——TempDB
原文:SQL Server 2008性能故障排查(四)--TempDB 接着上一章:I/O TempDB: TempDB是一个全局数据库,存储内部和用户对象还有零食表.对象.在SQLServer操作过 ...
- SQL Server 2008性能故障排查(三)——I/O
原文:SQL Server 2008性能故障排查(三)--I/O 接着上一章:CPU瓶颈 I/O瓶颈(I/O Bottlenecks): SQLServer的性能严重依赖I/O子系统.除非你的数据库完 ...
- SQL Server 2008性能故障排查(二)——CPU
原文:SQL Server 2008性能故障排查(二)--CPU 承接上一篇:SQL Server 2008性能故障排查(一)--概论 说明一下,CSDN的博客编辑非常不人性化,我在word里面都排好 ...
- SQL Server 2008性能故障排查(一)——概论
原文:SQL Server 2008性能故障排查(一)--概论 备注:本人花了大量下班时间翻译,绝无抄袭,允许转载,但请注明出处.由于篇幅长,无法一篇博文全部说完,同时也没那么快全部翻译完,所以按章节 ...
随机推荐
- linux CPU占用率高(转)
来自:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高 gateway网关进程14094 ...
- python操作Excel的几种方式
Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 1.xlrd主要是用来读取excel文件 import xlrd workbook ...
- Statement、PreparedStatemnt、CallableStatement
第一.Statement(Statement代表一个特定的容器,来对一个特定的数据库执行语句) * 执行查询的方法 Statement=Connection.createStatement();//创 ...
- C语言中连接器介绍
在C语言中.一个重要的思想就是分别编译.即若干个源程序能够在不同的时候单独进行编译.然后在恰当的时候整合到一起.可是连接器通常是与C编译器分离的,连接器怎样做到把若干个C源程序合并成一个总体呢? 典型 ...
- Java ThreadLocal (Java代码实战-006)
ThreadLocal解决什么问题 由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuilder >,为表述方便,后文用 变量 代表 ThreadLoc ...
- 在执行context.getContentResolver.query()方法时出现错误。
1. 在执行context.getContentResolver.query()方法时出现错误. 07-15 18:46:13.470: E/AndroidRuntime(13624): FATAL ...
- Axure快速原型教程01--原型说明下载和安装
Axure是一个快速画原型的工具 什么是原型? 估计进来的朋友应该都清楚,原型通俗来讲,不仅仅是在软件开发中使用,在很多行业中也需要用的,比如服装设计,建筑 ...
- WebDriver基本操作入门及UI自动化练手页面
在这里集中了我们在做UI自动化时常见的一些控件操作.希望能对新手有帮助. 下载地址:http://files.cnblogs.com/zhangfei/demo.rar package com.tes ...
- Windbg使用方法
hgy413的专栏 http://blog.csdn.net/hgy413/article/category/1143065
- 【Linux】关于减号 - 的用途
管线命令在 bash 的连续处理程序中是相当重要的!另外,在 log file 的分析当中也是相当重要的一环, 所以请特别留意!另外,在管线命令当中,常常会使用到前一个命令的 stdout 作为这次的 ...