Unit Testing Corba

The CORBA model tightly couples your objects to CORBA making it more difficult to test their behavior outside of CORBA. Has anyone successfully come up with a testing strategy that eliminates CORBA from the picture?


One question would be "Why do you want to eliminate CORBA from the picture?" Unit tests that bypass CORBA would be ignoring a lot of complex failure-prone code. If your objects are tightly coupled to CORBA, then it is best to test them with CORBA.

One alternative is to structure your code so that there is a "CORBA layer" that is a simple wrapper/facade around non-CORBA objects. You can then test the underlying non-CORBA objects just like anything else. Be sure to also UnitTest the CORBA layer. Note that this strategy leads to twice as many unit tests, as you much test each function both on its own and via the CORBA interface. Twice as many tests may be good, as it is easier to localize any problems to either the implementation or the CORBA interface, but it may also be more work than it is worth.

It is often useful to have MockObjects that simulate CORBA servers and clients that interact with your code.

If portability or interoperability are important, use multiple vendors' ORBs in your unit tests. Don't assume that if it works with one ORB, it will work with them all.


A fitful attempt at TestDrivenDevelopment for CorbaComponentModel appears here: http://wiki.orbzone.org/TestFirstCiao


CategoryCorba CategoryTesting


EditText of this page (last edited October 22, 2006) or FindPage with title or text search