开发者社区> 问答> 正文

Django 做单元测试时报错了

IDE用eclipse + PyDev, Django的项目,用apache2启动,有一个test.py。

Django 版本1.6 Python版本2.7.6

settings中UNIT_TEST_FLAG已经设置为True

当我用eclipse的Debug As Python unit-test做单元测试时,出现了下面的错误...

 
pydev debugger: starting (pid: 23225)
Finding files... done.
Importing test modules ... 172.17.0.2:6379
{'default': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydatabase', 'OPTIONS': {'charset': 'utf8mb4'}, 'HOST': '172.17.0.1', 'USER': 'root', 'PASSWORD': 'hello123', 'PORT': '3306'}, 'OPTIONS': {'autocommit': True, 'timeout': 20}}
done.
Traceback (most recent call last):
  File "/home/jeff/software/eclipse/plugins/org.python.pydev_4.0.0.201504132356/pysrc/pydevd.py", line 2278, in <module>
    globals = debugger.run(setup['file'], None, None)
  File "/home/jeff/software/eclipse/plugins/org.python.pydev_4.0.0.201504132356/pysrc/pydevd.py", line 1704, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/home/jeff/software/eclipse/plugins/org.python.pydev_4.0.0.201504132356/pysrc/runfiles.py", line 234, in <module>
    main()
  File "/home/jeff/software/eclipse/plugins/org.python.pydev_4.0.0.201504132356/pysrc/runfiles.py", line 78, in main
    return pydev_runfiles.main(configuration)  # Note: still doesn't return a proper value.
  File "/home/jeff/software/eclipse/plugins/org.python.pydev_4.0.0.201504132356/pysrc/pydev_runfiles.py", line 835, in main
    PydevTestRunner(configuration).run_tests()
  File "/home/jeff/software/eclipse/plugins/org.python.pydev_4.0.0.201504132356/pysrc/pydev_runfiles.py", line 793, in run_tests
    MyDjangoTestSuiteRunner(run_tests).run_tests([])
  File "/home/jeff/software/eclipse/plugins/org.python.pydev_4.0.0.201504132356/pysrc/pydev_runfiles.py", line 813, in run_tests
    raise AssertionError("Unable to run suite with DjangoTestSuiteRunner because it couldn't be imported.")
AssertionError: Unable to run suite with DjangoTestSuiteRunner because it couldn't be imported.

DjangoTestSuiteRunner 好像是一个旧的Test Runner,1.6及1.6之后好像是基于unittest的,我的测试代码也是导入unittest的,我该怎么切换到unittest?

Python的新手,要接受一个准备上线的项目维护

展开
收起
爵霸 2016-06-02 09:16:27 2757 0
1 条回答
写回答
取消 提交回答
  • 就本人遇到的说说吧。 Access denied for user 'root'@'localhost' (using password:YES) 这是mysql数据库很多时候出现的问题, 网上流传很多解决办法. 有人按照那些方法, 还真可以把问题解决了; 但也有很多人按那些方法解决不了问题! 而这个中原因, 就是没有对症下药!!! 网上的那些方法, 很多都没有明确指出是什么版本的mysql, 所以导致问题者不能对症下药. 出现这个问题, 通过停止/重启 mysql 服务, 是可以解决的, 这个是最简单的办法! 对于不懂得什么叫做"停止/重启mysql服务"的人来说, 这个最简单的办法就是把服务器主机进行重新启动(就是把电脑进行重新启动). 以上是方法A! (这个方法适合任何版本的mysql) 以下是方法B: 网上也有说, 就是对root进行重改密码. 对于网上流传的改密码方法, 也是可行的. 请参考以下: DOS下修改ROOT密码:当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例:给root加个密码ideacmblog 首先在进入CMD命令行,转到MYSQL目录下的bin目录,然后键入以下命令 mysqladmin -uroot password ideacmblog 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 D:\php\MySQL\bin>mysqladmin -uroot password ideacmblog回车后ROOT密码就设置为ideacmblog了 但是, 请注意了, 以上方法仅适用于MySQL4.0.26 版本! 方法C 错误代码 1045 Access denied for user 'root'@'localhost' (using password:YES) 去找寻解决的办法. 看了很多, 也参照执行了, 事实上也是解决不了问题. 后来想到了是版本的问题, 不同的mysql版本, 解决办法是不一定一样的!!记住... mysql版本是: 5.0.22 (mysql-essential-5.0.22-win32) 最后, 决定把mysql卸掉重新安装! 卸载很快, 而且不需要重新启动计算机. 于是, 继续进行安装. 第一步: 打开这个mysql-essential-5.0.22-win32.exe文件; 第二步: 见到窗口弹出, 并点击 Next> 进入下一步; 第三步: 选择 Custom 项, 并点击 Next> 进入下一步; 第四步: 到这一步要注意了, 点击 Change... 选择原安装mysql的目录; 选择后, 继续点击Next> 进入下一步; 第五步: 点击 Install 进行安装... 安装至下一步, 会提示进行注册, 选择最后一项, 即跳过注册, 进入下一步正式完成安装. 安装完成后, 继续弹出一个窗口, 提示是不是立刻进行配置, 选择 Next 选择Standard Configuration.继续点击 Next 进入下一步 这一步里, 把上面那行的勾去掉, 只在 Include ....PATH 那行打勾, 继续点击 Next 进入下一步 在这一步, 点击中间的"Ex****"那顶, 接着配置完毕!

    此答案来源于网络

    2019-09-19 19:27:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java单元测试实战 立即下载
前端自动化测试 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载