• Home
  • MySQL
  • MyTAP, the best way to test MySQL stored procedures

MyTAP, the best way to test MySQL stored procedures

image1Database is an important way to present reports, interface with applications and store data. For all these purposes, the database would be filled with intensive logic and calculation codes. So a testing unit Is required to make sure that the procedures in the database are doing exactly what they need to. For this purpose, MyTAP is used.

What exactly is MyTAP?

MyTAP is a collection of database functions which is used to write codes for testing anything protocol (TAP) in mysql scripts. The output from TAP is suitable for analysis, harvesting and reporting.

Why is MyTAP used?

As many SQL based applications are written, a lot of tests need to be written to assure the working of the application as one progress with iterative development. But testing the database is more important as only then the final output is correct or not can be ascertained. So unit testing the database is really important and this is done using MyTAP.

What does MyTAP do?

MyTAP allows one to really be able to test the database as a whole. It not only verifies the schema written for the database but also enables one to exercise the views, functions, procedures, or triggers that are written. Writing tests using MyTAP makes one keep the database tests simple and easy to understand.

The advantages of MyTAP compared to other unit tests

The MyTAP tests are a lot easier to read. Moreover, these just compare the values directly in the database unlike the Perl tests. There are no extra workings required to make the connection between the database interface and database, fetch the data, convert it and so on.

Installing MyTAP

MyTAP can be downloaded from the internet free of cost. There are a number of sites like https://github.com/theory/mytap/downloads from where it can easily be downloaded. The installation requires simply extracting the archive to a folder. Then the MyTAP database is to be added to MySQL server using the command

mysql –u root

This command is used to the tap database. This database contains many tables and stored functions to help in the testing of the database.

Things to remember

1. Updates should be switched off before calling any of the TAP functions failing to do which may lead to the failure of the tap function.

2. A description of the test functions or a test name is necessary to identify the corresponding functions in the output.

3. At the end of the script, a tap.finish function is necessary to be able to see the diagnostics of about failures in the tests which were run.

A number of tests

A number of tests like ok() , eq(), not_eq() is provided by MyTAP to match the calculated result against some predefined value. A number of functions to test and perform different kind of comparisons using a variety of data types are also present.

The best thing about the MyTAP tests is that it does not require any additional software or any tools to be downloaded; everything is in the tap MySQL database itself.

About the author: Rebecca is a blogger by profession. She loves writing, reading and traveling. Beside this she is fond of luxury cars and wishes to own one day Mercedes Benz

Tagged: ,