YAPB (Yet Another Planning Blog)
Well lets see as I am in a testing mode right now lest have a quick look at the DA.pm's expressed API to see what I should test or at least how I should organize my tests.
Always start with the basics so I will have
00-load.t
that will do your basic load checks to see if it will work on the perl that is trying to run it. No need to go into details there.
As well I will add in a
02-base.t
And this will test just a little more than load. Perhaps the use of a driver and some basic set and get checks of the higher level stuff.
As of course this is a crud interface so I know I will need
??-create.t
??-retrieve.t
??-update.t
??-delete.t
I left out the numbering here as I think we will need some other tests before this. Numbering can be tricky for some large and many iteration projects. DBD::Oracle is a good example of a projects that really grew over the years. I know that I filled up the 20s and most of the 30s during my time as the maintainer. I could adopt a just a named type tests like mojolicious but I will leave it at two digits for now.
Other exposed functionality includes support for caching and support for transactions so will need to cover those off
??-cache.t
?? transactions.t
Now I have some fifteen untyped scalar attributes, four of which are private and two array attributes. They can be grouped into four test sets
??-modify.t
??-info.t
??-data.t
??-debug.t
So modify.t will off interface modifiers such as 'can_modify' and 'max_num_of_records', info.t will cover informational attributes such as 'success', 'last_cache_refresh', data.t Data Source attributes such as data_source, password, and finally debug.t will cover such things as PrintError and RaiseError.
Now I will also want to add in a few extended tests
??-driver.t
will test the load and unload of drivers, running two or more instances of DA at the same time plus anything else that comes up.
And to wrap things up lets add in
pod.t
pod-coverage.t
So that is the plan to start and hopefully I will get a good Kwalitee level to start.
Leave a comment