Hi Ralf,
On 16.01.2010 10:18, Ralf Joachim wrote:
Hi Michael,
I would help you to get things working with cpactf if you would let me
know what kind of problems you are facing to get your tests working with
cpactf framework.
I will not support adding this tests to yet another test module or any
other test module that is based on spring (jdo-extension-it,
jpa-extension-it) in any way. I already explained this to Werner end of
last year and will vote against such an additon.
If you decide to vote against anybody wishing to use Spring and its very
useful testing support, you are basically rendering all the work by
Lukas and all the other students here in Vienna 100% useless. In other
words, without Spring and especially its spring-test package, many of
the things done would not have been possible.
First, please explain to Lukas and Michael (and many others such as
Alexander and Peter), WHY you'd vote against and other integration tests
being written with the help of spring test ? Is there anything wrong
about how this code is written ? Does the quality of the tests and/or
the test coverage not meed your standards ? Or is it simply that you
dislike spring-test being used ? I'd really like to hear your concerns here.
Second, please do NOT impose your preferences to not use Spring in your
professional environment on anybody else, much in the same way as I have
never asked you to start using Spring as a prerequisite, which
personally I would not want to. It's your choice, and you seem to have
your reasons. When I engage with student here in Vienna (like I did in
the past two years), I want them to be productive. Actually, I want them
to be as productive as possible. And this means that they should be able
to use technology and support packages that ease their work and make the
more productive so that they can focus on their task(s) at hand, and
avoid environmental issues as much as possible. And using the CPACTF
framework for most of their would/work does create a lot of issues for
them. Just to give you some ideas:
a) Does the CPACTF freamwork have support for JPA interfaces ?
b) Does it cater for concurrency ?
c) Is it widely used, and hence does it nicely integrate with
transactions, atomicity of tests, etc. ?
d) Does it integrate nicely with a test-driven approach where the
environment created in a descriptive manner, e,g, through a Spring
application context ?
All those issues have been discussed between mentors, university
personnel and the students. And when it comes down to efficiency and
productivity and familiarity, Spring test and its support for writing
easy-to-understand test cases that help you to achieve (nearly) full
test coverage became one of our building blocks.
Third, me and others at Indoqa spent a lot of time trying to understand
the benefits (and initial fallbacks of Spring test when starting to use
it more and more) in environments where persistence frameworks such as
Hibernate, JPA and Castor (sometimes) are used, and it was with the help
of spring-test that we managed to reduce the complexity of writing good
and concise integration tests in this area. If you were to have a look
at the base classes of spring-test in this area, especially it's support
for
- transactions (@Transactional, ....)
- auto-rollback
- integration of JdbcTemplate and ORM tool within one test case
I personally would like to kick out the CPACTF test framework
immediately. And I have mentioned this before numerous times. It's
simply my personal opinion.
Problem is that I do not have the time (and money) to rewrite all
existing test cases to base upon spring test. Even though I would want to.
But as already mentioned above, any new integration tests could and
should base on spring-test, for all the reasons mentioned above.
Regards
Werner
Having said that I think I know what causes your tests to fail.
Regards
Ralf
Michael Schröder schrieb:
Hi, my name's Michael, I'm one of the students working on the new
cascading feature. To that end, I'm currently trying to restructure
our tests but I keep running into problems...
Backstory: Previously, we patched ourselves into the cpactf package
(test2860; see the corresponding JIRA issue) but that hasn't been
working out so well, so Werner suggested we create our own package
(cascading-it) and make use of the Spring framework, like the JPA
extensions tests do (in jpa-extensions-it).
So I pretty much copied their stuff and tried to understand it and to
trim it down to for our purposes. I've attached a patch of the current
state of my efforts. I think it's pretty self-explanatory if you take
a quick look at the directory structure. (Note: the test functions in
the files are all the same because I know for sure that that one
works.)
Using "mvn clean test" all tests should and do finish successfully,
but here are the problems:
1) It doesn't seem to use the current state of it's parent castor
source, so the changes we've made to our trunk aren't there. (That's
why autostore is set to true, so the tests can run without making use
of our cascading feature.) I guess you can configure that in the
pom.xml?
2) @Transactional doesn't work. The tests run because all ids are
different, but if you were to e.g. make create2() use the same ids as
create() you'll get an error. The test classes are all
AbstractTransactionalJUnit4SpringContextTests and I'm pretty sure the
transactionManager gets injected correctly (at least everything's done
exactly like in jpa-extension-it). I've got to be missing something
here...
3) It doesn't work with JUnit in Eclipse. It can't find the database.
(I used to get something along the lines of "schema TEST doesn't
exist" but now all I'm getting is "Database target/test not found")
I hope it's not all just dumb mistakes, but it's getting late and I'm
pretty much stuck. Thanks in advance for all advice!
------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email