2013-08-04 5 views
5

Ich baue eine Anwendung, die eine Menge von SQL-Abfragen generiert. Einige von ihnen sind komplex (für mich) und das Schreiben von guten Tests ist schwierig.sql linter für mysql und php

Als ein Vernunfttest wäre es nett, die generierten SQL-Abfragen über einen Linter auszuführen. Daher würden die Tests die Abfragen in der Datenbank nicht ausführen/ausführen, aber sie würde die Abfrage analysieren und sicherstellen, dass sie gültig aussieht.

Ich weiß, das ist kein großer Test, aber ich denke, es wäre schnell, und mein PHP-Linter hat mir geholfen, eine Menge Probleme zu bekommen, also wenn ich das in Unit Tests bauen könnte, scheint es ein schneller Weg um tief hängende Früchte zu fangen.

Ich arbeite in PHP und MySql (unter Linux), also würde ich eine Lösung für diese Umgebung bevorzugen, aber ich werde nehmen, was ich bekommen kann. Vielleicht wird es mich in die richtige Richtung weisen.

+1

Versuchen [SQL Fiddle] (http://sqlfiddle.com/) – paulsm4

Antwort

3

mehrere Möglichkeiten (ich gestehen - die einzige, die ich persönlich vertraut bin mit SQL ist Fiddle):

http://dev.mysql.com/doc/mysqltest/2.0/

  • Google Test-Framework:

http://dev.mysql.com/doc/mysqltest/2.0/en/unit-tests-google-test.html

  • myTAP:

http://theory.github.io/mytap/

Da Sie PHP verwenden, sollten Sie wahrscheinlich auf PHPUnit auch einen Blick:

‚Hoffnung, dass ... hilft zumindest ein wenig

+1

Es gibt einige interessante Sachen drin, ich einen Teil davon wusste aber einiges davon tat ich nicht. Ich glaube nicht, dass irgendetwas davon aussieht, nach dem ich gefragt habe, aber ich werde in sie schauen. Wer weiß, vielleicht werde ich auf etwas stoßen, das so cool ist, dass ich keinen Linter mehr brauche/brauche. – Jachin

+0

Und, hast du? Neugierige Köpfe wollen es wissen – Mawg