AndrewHunt and DavidThomas on various projects, most recently to test the non-GUI layers of a large applet.
DaveAstels et.al. are using it at ISO New England to test the server side of their project. (circa 1999)
DaveAstels is now CEO & Master Software Craftsman at his own company: SaorsaDevelopment where we use XP and the xUnit family (mostly jUnit so far).
The testing group at DaimlerChrysler just evaluated 3 potential tools for unit testing Java code. JUnit evaluated to be the leader and will be recommended to new projects. The feeling was that while the other two tools did much automated creation of unit tests, overall they were not as useful. That is, these two other tools could create a very simple suite of unit tests based on various boundary conditions and combinations of inputs. That is fine, but they did not generate any of the more difficult tests, tests that only a developer would know to create. These tests can be the hardest and most time consuming to create. However, JUnit though simple does allow you to use your Java IDE to develop and debug your unit tests. Depending on the IDE you can even integrate JUnit into the environment (e.g. VisualAge). We also found certain types of tests were simply not possible in the other two tools. So overall you may have to code all your tests by hand, but when it comes to the really tough tests you will be glad you have it. -- DonWells
Here at SwissLife?, we are using JUnit to develop an automated test suite for our rather large insurance application. We are trying to enhance it to better support server-side and concurrent access tests in an EJB environment. -- HaskoHeinecke
Our Media Editing project (XpEdinburgh) are making extensive use of JavaUnit. A friend has written a utility which uses reflection examine a .class file and construct a TestCase derived class with testXXX methods for each of the classes public methods. AndySwan? is considering a reverse of this so that we can write a TestCase and generate a skeleton class with public methods based on testXXX. The tests will all fail and we can write the code until they work (the smalltalk way :) -- AlanFrancis
I started using JUnit recently and now wouldn't consider coding without it. It has helped me enormously in catching bugs, improving design (because I write tests before coding) and most importantly given me confidence in the code I write. On a recent project, the only bugs found in deployment were related to things I couldn't write tests for (JavaServerPages mainly) but I'm thinking about how to extend JUnit to enable servlet testing. -- ChanningWalton
"Me too, me too!" I can conceive of programming without JUnit, but not happily. Regarding Don Wells' point of having to write all the tests myself, rather than having them automatically generated - I think that this is a feature, not a bug. It encourages me to refactor in such a way that I have fewer tests to write, which (so far) has always made the code under test better too. -- BrettNeumeier
The thing is that I try to write tests before I've written the code that the test is for (XP way I guess) (which would make automatic tests impossible methinks). The reason I do this is that is forces me to think about the code and clarify what it is I'm going to do. -- ChanningWalton
At ChannelOneHamburg, we've found that classes, that we couldn't easily write tests for, often became a target for a larger refactoring. In fact, you really have to design your classes in such a way that you can easily write tests. Otherwise, testing becomes a hassle and bugs slip by. In our experience, the best way to do this is to actually write the unit tests before you start coding. -- FrankWestphal
I'm started using it about 1.5 years ago, and now I'm not programming Java without it. My only problem with JUnit is that I don't use it enough. "This can't go wrong, so I won't waste any time writing a test case for it." Guess what? It could go wrong. And it bites me when I least need it. Just a day before the next release, for example. (PairProgramming helps, so that someone else makes me write the test case.) -- Unknown?
In a new project we at Baan started a couple of weeks ago, I had the opportunity of choosing JUnit as the testing framework, and currently I am in the process of coaching the other team members in using it, and using it effectively. I expect it will take quite some time - probably PairProgramming is the best way to do is. -- MarnixKlooster
We've also found that TestingPrivateMethods? seems to be of CodeSmells. TestingPrivateMethods? smells of debugging. TestingPrivateMethods? also prevents us from being able to RefactorMercilessly. If you ListenToTheCode, you learn that MethodsShouldBePublic. Therefore, execute the ExtractClass refactoring, have all the former private methods be publicly accessible, and test them ruthlessly. You may end up with a reusable abstraction whose responsibilities will grow over time. -- FrankWestphal
BarryKaplan, ChuckMcCorvey, and myself are using it to rapidly prototype a major financial processing application. It is working great!I highly recommend the JUnit experience. -- JohnGoodsen
We in Motorola/SPS/SoCDT/uk have been using JUnit since August 99 in the development of a Java framework for encapsulating silicon design tools. We are now completely TestInfected. -- KevinRutherford
The PCPI project at ADP (http://www.adp.com) is using JUnit. (see TomLove). It is not being used right now as well as it could be.
We use it at Connextra for the development of a web based consumer product -- TimMackinnon
I'm currently consulting with a large west-coast brokerage firm, where I've just given my third talk on JUnit to a sell-out crowd. I know of at least four projects that are using it here. -- KyleBrown
At Siemens Business Services in Vienna, Austria we are using it for the development of a sales & marketing web application for the financial industry. -- BernhardPieber?
Is it only the JUnit code that we are discussing here, or does the concept count? When we started unit testing our Java code (after hearing about the concept from MartinFowler and WardCunningham), JUnit was not available, so we wrote our own Java test harness, which at least two projects are now using. -- RussellGold
We've been using JUnit for about a year. We started on one project and slowly "fanned the flames" to help it spread to various other efforts. The groundswell of TestInfected developers has been amazing! I suspect it's because JUnit empowers developers to make changes rapidly with confidence. --AntonyWilson?
I am using JUnit with great success for the stuff I write. We have been trying to introduce it to our organization as a whole with little success. I think we have to big a gulf between the process people (RationalUnifiedProcess) and developers to make it happen just by talking about it. And no support from management needless to say.... -- FredrikRubensson
I use it in my consulting and training practices. I recently wrote an applet version of JUnit for use in online testing. In my DesignPatternsWorkshop?, I show people how JUnit uses the Decorator and Composite patterns. I'm particularly fond of the ActiveTest? decorator in Junit. -- JoshuaKerievsky
I've experimented with JUnit to allow me to get involved in an existing project quickly. Some functionality is not complete but the exact state is not documented, so I wrote some unit tests with JUnit to determine what needs done. Very good experience - I'll use it or something similar (probably be C++ coding) in the self-contained new component that I'm involved in for this project. -- NeilGall
I use JUnit at work (consultant for American Express, but all views are mine, blah blah blah) and at home. I've already got one other programmer using it and a few others watching over our shoulders. I'm giving a presentation on it later today, to see if I can act as an effective vector for it. If that goes well I want to see if the Phoenix Java User's Group would like to become infected. -- WayneConrad
The Courier project at GemStone is using JUnit. Some of us have been using SmalltalkUnit since KentBeck first gave it away in 1995. JUnit rocks! We're using it to test design contracts at the interface level of various large-grained components in server-side VMs, and we're also using it as a remote client to test some EJBs. -- RandyStafford
LanceWalton and I are using JUnit at The Capital Markets Company in London (its actually in their coding guidelines!!!). Lance is also doing XP there although the BAs don't know its called that :-) -- ChanningWalton
devIS uses JUnit and will continue to use it (http://www.devis.com). New hires get infected right away :)
Ralph Poellath is starting to use junit.
After several years of using the Smalltalk equivalent of JUnit (SmalltalkUnit) i introduced it into my current project at Siemens SFS about one year ago. In the beginning some developers on the team did not like the idea of writing a unit test for every component they develop. But today everyone is convinced that it helped (and still does) us a lot. -- PeterMaier
Grassroots is using junit :-)
www.blink.com is using junit. Well, at least CurtSampson there is. :-)
I've translated JUnit into LingoUnit for Macromedia's Director. Tough to get it working in Lingo, but definitely worth it! Now I just have to modify it to help with testing the GUI... ;-) -- RobHarwood
Escape Velocity Technology (http://www.evtechnology.com/) uses JUnit for all of our Java code, and have just been bitten by the new "assert" keyword in JDK 1.4 - anybody have a good solution other than just renaming the JUnit method?
use the latest release of JavaUnit. It accommodates for this, I believe. -- Cheers, JasonRogers
assert -> assertTrue in the latest version. A great tool to rename the methods: seRapid. VladimirBossicard
MikeCorum used JUnit at Monsanto in StLouis? as a way of verifying a conversion of a fairly complex Java research application from Visibroker 3.4 to Visibroker 4.1.1 with the POA. Unit tests were created for all the CORBA interfaces. It is already showing value. JUnitPerf has been added to verify certain performance requirements for both the CORBA servers and the database. It is useful to set up simple stress testing of servers. We are also using JavaUnit, HttpUnit, JUnitPerf, and utPLSQL in several projects. One is doing full XP and another is doing partial XP.
The "INA DeCore?" team at Nortel Networks in Ottawa, Canada is using Junit all the time. We love it.
I use JUnit in my personal development, and in my consulting projects. I recently used VbUnit to test several sort implementations (including performance comparisons) while helping a fellow consultant on his project. Now I am using Nunit (a port of Junit to the Microsoft DotNet platform) while I design and build a replacement enterprise system for my new employer. Nunit has some nice features that take advantage of the special abilities of DotNet. -- RobWilliams
I've infected the co-ops (interns) at work here (http://www.lachesis.com), and managed to lobby the CTO into supporting it. The oldtimers here all seem to fall somewhere between cautious to quietly subversive, but the biggest problem seems to be testing database dependent objects. Does anyone have any advice on unit tests in conjunction with databases? -- KaelLizak
MikeBowler uses JavaUnit on personal projects and has been successful at convincing his clients to use it as well
Philipp Meier uses JavaUnit at o-matic GmbH, Ulm, Germany.
AlexeyVerkhovsky is using JUnit at Amdocs, as a foundation of an integration test framework and suite for a huge customer care and billing application. I wholeheartedly agree with an earlier orator - every COTS tool out there that tries to do test automation for you sucks. And this is how the notion of "test automation is too expensive" is propagated. Those things that help you program test automation like a proper software that it should be, are the winners.