Thomas Dudziak wrote:
On 12/22/05, Martin van den Bemt <[EMAIL PROTECTED]> wrote:
Ah ok.. You are in Germany right ?
Yes, in Berlin.
I am in Breda, in the south of The Netherlands. In short : not a driving
distance :)
I think the io test package will actually mix too many concerns if we do that,
since most classes in io can be unit tested (integration tests have nothing to
do with io unit tests). So at least we should consider a new package name, with
probably subpackages like derby, axion, hsqldb, oracle, since I don't think
we'll going to end up with 1 testcase per database and things (in my opinion)
will get quite messy otherwise.
Why do you think that is necessary? If you look into class
RoundtripTestBase, you'll see what I intend to test. Most if not all
of these will look like the tests already in TestRoundtripDerby,
though I expect I can refactor the tests later on to make them even
shorter.
When I look at the TestRoundTripDerby and the RoundTripTestBase, I cannot see
anything specific that you are just targetting the io package, unless you mean
the part where you use the DataReader.
That testcoverage that is achieved in the io package is merely a side effect of
these integration tests. Probably unit testing DataReader needs some mocks to
keep it a unit test (same as eg platform.* should have some mocks, where eg a
connection is needed (like in fetch).
In my opinion we should treat any class that we feed a realtime database
connection as an integration test and move them to a different package and in
my preference source tree.
Just to be clear TestDatabaseIO and TestDataReader are of course in the right
place.
Do you plan to add other tests (right now, the roundtrip test do:
create, insert data, fetch data, read model from db and check it) ?
Not specifically, but to maintain readability of classes (esp when testcases
get big), I tend to create separate testcases. Subpackaging is not needed right
away, we can do that when there is a need to.
One thing that has to be added yet is testing without delimiters.
Axion doesn't like delimiters :)
About Axion : roundtripping will not work that well (working on axion
currently), since I get some not supported exceptions when importing the model
from the database itself.
Mhmm, not good, but not DdlUtils fault either. When we document that
properly, this should be no problem ?
Indeed and just noticed (to my surprise) there is actually some development
going on axion, so who knows some things get fixed.. (i'll see if I can file
an issue for the lack of support on getImportKeys)
Mvgr,
Martin