Improvement CORE-196
1 vote

Refactor unit tests so they all run reliably and reproducibly

Created by Rob Vesse on 2/21/2012 5:23 PM Last Updated by Rob Vesse on 7/25/2012 6:50 PM
%
 (hrs)
Logged: 0  (hrs)

 Description

Currently while we have lots of unit tests some of them are unreliable because they rely on external triple stores and web based services whose existence and uptime cannot be guaranteed.

 

Firstly we should refactor all the tests that rely on external services so that they pick up config from some central point and if that config is missing tests are simply marked as inconclusive rather than failing inexplicably

 

It would also be nice to get some of the format tests suites e.g. RDF/XML, Turtle etc into unit tests if possible.  Doing this with SPARQL DAWG may also be possible since we can invoke the test runner and inspect the exit code

    Rob Vesse (Friday, July 20, 2012 12:06 AM) #

Today's commits almost complete work on this

    Rob Vesse (Thursday, July 19, 2012 12:50 AM) #

With current trunk (revision 2281) you should expect to see ~204 failures - most of these are due to requiring external features which are not configured as available by default

 

There are a couple of failures which I will try and resolve once I figure out the cause

    Rob Vesse (Thursday, July 19, 2012 12:44 AM) #

Recent revisions make significant progress on this - they introduce a central class that manages configuration for features we wish to test that have external dependencies e.g. triple store installations

 

Tests that need these dependencies now report either a failure if no developer specific test config is available or is incomplete and report inconclusive if the developer indicates that a feature is not available in their environment