我使用Anaconda发行版中的Python 3.4。在这个发行版中,我发现pymysql
库连接到位于另一台计算机上的现有MySQL数据库。在Python中模拟MySQL数据库
import pymysql
config = {
'user': 'my_user',
'passwd': 'my_passwd',
'host': 'my_host',
'port': my_port
}
try:
cnx = pymysql.connect(**config)
except pymysql.err.OperationalError :
sys.exit("Invalid Input: Wrong username/database or password")
我现在想编写测试代码我的应用程序,其中我想创建一个在每个测试用例的setUp
一个很小的数据库,最好是在内存中。但是,当我用pymysql
来试探这个问题时,它无法建立连接。
def setUp(self):
config = {
'user': 'test_user',
'passwd': 'test_passwd',
'host': 'localhost'
}
cnx = pymysql.connect(**config)
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 61] Connection refused)")
我一直在谷歌上搜索周围,发现约SQLite
和MySQLdb
一些事情。我有以下问题:
- 是
sqlite3
或MySQLdb
适合在内存中快速创建数据库吗? - 如何在Anaconda软件包中安装
MySQLdb
? - 有没有在
setUp
中创建的测试数据库的例子?这是个好主意吗?
我没有在本地计算机上运行的MySQL服务器。
答案很可能是* *获得一个MySQL数据库在本地运行。 SQLite与mysql有很多不同之处,因此用SQLite替换mysql并不是一个好的测试。 – 2015-02-10 12:45:45