Ich versuche mysql
von pytest-dbfixtures zu verwenden. Ich habe eine Testdatei mit Beispiel aus der Dokumentation:pytest mysql db fixture: kann keine Datenbank erstellen
def test_using_mysql(mysql):
mysql.query("SELECT CURRENT_USER()")
und wenn ich es über $ py.test test_example.py
laufen, bekomme ich diesen Fehler:
E subprocess.CalledProcessError: Command '/usr/bin/mysql_install_db --user=Fluffy --datadir=/tmp/mysqldata_3307' returned non-zero exit status 127
/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py:711: CalledProcessError
------------------- Captured stderr setup ------
[ERROR] /bin/sh: /usr/bin/mysql_install_db: No such file or directory
Ich verwende Python 3.5 und OS X 10.11.5. MySQL 5.7.12 wird über homebrew
installiert und funktioniert gut.
homebrew
erstellt keine Symlimks zu /usr/bin
, nur zu /usr/local/bin
. Wenn ich den Link manuell erstellen:
$ sudo ln -s /usr/local/Cellar/mysql/5.7.12/bin/mysql_install_db /usr/bin/mysql_install_db
ich folgende Fehlermeldung aus pytest erhalten:
E subprocess.CalledProcessError: Command '/usr/bin/mysql_install_db --user=Fluffy --datadir=/tmp/mysqldata_3307' returned non-zero exit status 1
/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py:711: CalledProcessError
------------------------- Captured stderr setup ----------------------
[ERROR] Can't locate the language directory.
Auch Skript mysql_install_db
ist veraltet: http://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html
Wie verwende ich mysql
Befestigung von pytest dbfixtures ? Gibt es eine Möglichkeit, es unter OS X mit MySQL 5.7 zu verwenden?
Könnten Sie ein kleines Beispiel dafür zeigen, wie Sie das 'mysql' Fixture referenzieren? –
aktualisiert den Beitrag –
Nur um zu klären, das gleiche Beispiel funktioniert auf vagrant Maschine mit Ubuntu. –