Unit Testing in MySQL Stored procedure in MySQL are very useful
in removing the database query layer from server side scripting.
It is entirely possible to develop and maintain the database
layer separately from the server side code. To complete this
seperation Unit Testing directly in stored procedures makes just
sense. The test database The [...]

I spent a little time yesterday doing some things with the
“summary” tool from Aspersa. I added support for summarizing
status and configuration of Adaptec and LSI MegaRAID controllers.
I also figured out how to write a test suite for Bash scripts, so
most major parts of the tool are fully tested now. I learned a
lot more sed and awk this weekend.

There is really only one way to get status of Adaptec controllers
(/usr/StorMan/arcconf), but the LSI controllers can be queried
through multiple tools. I added support for MegaCli64, as long as
it’s located in the usual place at
/opt/MegaRAID/MegaCli/MegaCli64. I am looking for feedback and/or
help on supporting other methods of getting status from the LSI
controllers, such as megarc and omreport. If you can contribute
sample output from these tools, please attach them as a file to a
new issue report on the project’s issue …

I got some interesting comments on my previous article about
unit testing Maatkit, including echoes of my
own conversion to the unit-testing religion. One of the
objections I’ve heard a lot about unit-testing is how it’s
impossible to test code that talks to a database. “It’s too
hard,” they say. “Oh, it’s easy to test a module that calculates
a square root, but a database? Way too much work!”

Note: As commenters have pointed out, I’m not
necessarily using “unit” in the agreed-upon way here. Everything
I say can be applied to ultra-pure unit testing too, but I go
beyond that. I will hold fast to my assertions about mocking
though *grin*

Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.