This is just an example of several issues in that regard that I found
and I want to ask two things:
1. Is there a good reason to create these special cases, like renamed
classes, but not renamed tests and especially moving the DB testing
partially out of our normal testing structure?
2. Please, when refactoring, don't just make the tests somehow work, but
do it properly, adding all methods at least as stubs that you added and
change both classnames AND filenames, so that we are not left with a
JDatabaseMySQLTest without a corresponding JDatabaseMySQL.
I'm happy to help out in getting the tests up to speed again and to
improve them, but in that process I also have to ask the people managing
the pull requests for the platform to respond to these requests more
quickly. In my work I discovered about 100 classes that were not covered
even by unittest stubs and thus didn't even show up in the code coverage
report at all. I prepared pull requests for that and am now in the
process of preparing those requests for the 4th time, since the others
were not approved in time before some major refactoring made the merge
break again, often enough breaking it so much that it was easier for me
to start over than to try to salvage the wreckage.
Thanks for your time.
Hannes
Thanks
Hannes
______________________________
Gary Glass
http://ShutterGlass.com
http://OnlyBegotten.com
Thanks
Hannes
--
I am using the free version of SPAMfighter.
We are a community of 7 million users fighting spam.
SPAMfighter has removed 266 of my spam emails to date.
Get the free SPAMfighter here: http://www.spamfighter.com/len
The Professional version does not have this message
1. Is there a good reason to create these special cases, like renamed classes, but not renamed tests and especially moving the DB testing partially out of our normal testing structure?
2. Please, when refactoring, don't just make the tests somehow work, but do it properly, adding all methods at least as stubs that you added and change both classnames AND filenames, so that we are not left with a JDatabaseMySQLTest without a corresponding JDatabaseMySQL.
1. Moving/rewriting the unittests for the JDatabase class was not done
to make sure that the whole change to the DB systemprocess is backwards
compatible. (simply because the old unittests still worked) Would now be
the time to do that rewrite/change?
2. "unit"tests vs. "integration"tests: We want to seperate all the
integration tests into their own branch. If it were up to me, I wouldn't
do that, since I don't necessarily see the benefit. But we especially
now only have the JDatabaseDriver* classes outsourced like this. What
about JDatabaseExporter*, JDatabaseImporter*, JCacheStorage*,
JSessionStorage* and JGithub*? All those classes depend on external
services and subsequently would have to be moved into that branch. Maybe
a better approach would be to define some rules how to layout such tests
in our current structure, which would also help with our other tests,
since they use several different ways to store mock and inspectore classes.
3. "We don't need unittest stubs for our test tree, we can always simply
generate them on the fly with phpunit" If you mean only the code
coverage report, I might agree with you, but I see a few more issues
with not having the stubs around. First of all, our test report would
incorrectly state that all tests have been implemented, and second of
all, someone who wants to write a unittest for an existing class then
can't simply tackle that single method that he/she would have written
before, but also has to generate the stub first and get that one
working. And no, the stubs generated by PHPUnit don't work all right out
of the box. So I strongly suggest to get our unittest base fixed up now
and not postpone that to the point where someone might want to write a
test...
Hannes
Hannes
The real thing is that we need to get Nikolai's excellent pull tester (which is much better than anything on the build site) integrated and make those results available via github.
are you refering to this one? http://elkuku.github.com/pulltester/ CirTap
are you refering to this one? http://elkuku.github.com/pulltester/
CirTap