Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

New article: Dependency Injection and Unit Testing

 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The current issue of the JavaRanch Journal has an article by Christophe Verré about Dependency Injection and Unit Testing. You can check it out here, and if you have comments or question, feel free to post them in this thread.
 
Qunfeng Wang
Ranch Hand
Posts: 434
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator



You have already noticed that FarmServlet is tightly coupled to the FarmEJBRemote instance, which was retrieved via a call to "FarmEJBUtil.getHome().create()". It makes it very hard to test. When unit testing, we don't want to use any database. We don't want to access an EJB server either. That would make unit tests both difficult to execute and slow. So in order to unit test the FarmServlet class smoothly, we'd better make it loosely coupled. To remove the tight dependency between FarmServlet and FarmEJBRemote, we could use a setter based injection:

In the second one, it still depends on FarmEJBRemote, doesn't it?
 
Frank Carver
Sheriff
Posts: 6920
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It looks like "FarmServlet is tightly coupled to the FarmEJBRemote instance" should maybe be "FarmServlet is tightly coupled to the FarmEJBUtil class".

Does that make more sense?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic