Daniel Fagerstrom pisze:

I think that the abstract test cases should try to follow the dependency structures of the modules they are testing. But we are not there yet for the split Cocoon core.

Agreed.

Yes, I would suggest doing that in a setUp() method. Also it might be more appropriate to call it DefaultExpressionFactoryTest as it unit tests that particular class.

Done in r565521.

If you feel the need of integration testing. I.e. testing the actual bean configuration files and bean graph that the module exports, you could have a separate test case that extends the AbstractDependencyInjectionSpringContextTests.

We use very nice convention for configuration files of TestCases, see[1] especially createBeanFactory method. If we use AbstractDependencyInjectionSpringContextTests we will loose this nice and useful convention.

Any idea about it?

FOMTestCase tests if expressions work well with ObjectModel and environment data. According to what you said, I should move this test to cocoon-sitemap-impl, right?

Yes. Then I would propose that you have some test code that in the cocoon-expression-impl that do more specific testing of the ObjectModelImpl where you set up the contents manually in the test case.


I see.

Moving tests of expressions to cocoon-sitemap-impl is quite weird for me. Am I only one feeling that?

First I would propose moving the CocoonEntryObjectProvider to cocoon-sitemap-impl. By doing that you get rid of the cocoon-expression-language-impl dependency on cocoon-pipline-api, which simplifies the dependency graph and makes cocoon-expression-language more useful outside Cocoon.

Then it would probably feel quite natural to test accessing parts of the Cocoon object model in the cocoon-sitemap-impl.

Testing the expression functionality is of course most natural to do in the expression module.

I see it know! It's that eureka moment! :-)
I've done what you advised last commits. Now CocoonEntryObjectProvider is in cocoon-sitemap-impl and there is no problem with FOMTestCase and dependencies of cocoon-expression-language-impl are much more cleaner. I'm feeling good because of it. ;-)


I had the same goal (decreasing the number of dependencies) in mind but chose wrong approach. Even though I think we should move bridge to cocoon-container I won't work on it now because it does not solve my current problems.

I'll get back to it when time permits.

Sounds good. It would be really nice to get to a point where it is an optional module just needed for users that hasn't Springified their custom components. But it will take some work to get there.

Agreed.

[1] http://svn.apache.org/repos/asf/cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/AbstractTestCase.java

--
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/

Reply via email to