JUnit News The 15 most recent updates to JUnit.org. en-us http://junit.org junit@objectmentor.com (Erik Meade) daily 1 2000-01-01T12:00+00:00 JUnit.org http://junit.org/images/smallLogo.gif http://junit.org 69 26 The Third State of your Binary JUnit Tests http://junit.org/news/article/index.htm#ThirdState Passing or failing: these are the usual states of JUnit tests. But discover a third state that many use but only few acknowledge, and how you can elegantly manage these tests with JUnit-addons Runner. Build a Java Web App Using HttpUnit and the Test-driven Methodology, Part I http://junit.org/news/article/test_first/index.htm#WebAppHttpUnit The HttpUnit client API complements JUnit functionality to provide thorough Web testing capability. This first article of a two-part series breaks down how HttpUnit delivers these features and walks you through a step-by-step setup of a test-driven environment. Multithreaded Tests with JUnit http://junit.org/news/article/index.htm#MultithreadedTests JUnit is the glue that holds many open source projects together. But JUnit has problems performing multithreaded unit tests. This creates considerable difficulty for middleware developers in the open source J2EE market. This article introduces GroboUtils, a JUnit extension library designed to address this problem and enable multithreaded unit testing in JUnit. A basic understanding of JUnit and threads is recommended but not necessary for readers of this article. Jameleon http://junit.org/news/extension/index.htm#Jameleon Jameleon is an acceptance-level automated testing tool that separates applications into features and allows those features to be tied together independently, creating test-cases. These test-cases can then be data-driven and executed against different environments. Even though it would be possible to write unit tests using Jameleon, Jameleon was designed with integration and acceptance-level testing in mind. GroboUtils http://junit.org/news/extension/index.htm#GroboUtils GroboUtils aims to expand the testing possibilities of Java. It contains many sub-projects which experiment with one aspect of testing through Java. TestCaseTool http://junit.org/news/extension/web/index.htm#TestCaseTool Do you want to code for testing? Of course NOT! If you think so, please try TestCaseMaker/Runner. This is Test Case Document driven functional test tool. You don't have to do coding and don't create newly input data for test tool, you just need to update test case document. Test-First Development with Mock J2EE, JMS, JNDI http://junit.org/news/article/test_first/index.htm#ClearStreamTF Having recently begun developing applications that depend upon the Java Message Service (JMS), we searched the Internet for experiences on testing JMS applications. Finding nothing, we set out to determine how applications built on JMS could be unit tested. In a message-based architecture, processing is performed when a message is received on a queue. Message processing may involve arbitrary computations and database interactions and usually results in yet another message being placed on another queue. The challenge was to determine out how to develop in a test-first approach when the JMS API does not readily permit the usual MockObject approach of passing the appropriately configured MockObjects into objects to be tested. Test Automation Manifesto http://junit.org/news/article/index.htm#ClearStreamTestManifesto Two key aspects of eXtreme Programming are automated testing and frequent refactoring. But is refactoring the best way to arrive at a set of tests that are both sufficient and maintainable? This paper builds on previously cataloged test smells, classifies these smells into two broad categories and introduces principles (or goals) for test automation. It also provides the start of a generative pattern language that helps guide the construction of automated tests that should not require extensive refactoring. RSS Feed http://junit.org/news/index.htm#RssFeed JUnit.org now has a RSS Feed at http://junit.org/news.rss PicoContainer http://junit.org/news/extension/index.htm#PicoContainer PicoContainer is very simple container for very simple components. It honors the Inversion of control pattern (IoC) in a way we calling type 3 IoC. This is particularly good for unit testing. In-container testing being one of the most avoided forms of unit testing.  This is where other container designs and specifications fail. Increasing the Effectiveness of Automated Testing http://junit.org/news/article/index.htm#IncreaseEffectiveness This paper describes techniques that can be used to reduce the execution time and maintenence cost of the automated regression test suites that are used to drive development in eXtreme progamming (XP). Developers are likely to write and run tests, thus getting valuable feedback, if testing is as painless as possible. Critical Success Factors for Automated Unit Testing http://junit.org/news/article/index.htm#ClearStreamSuccessFactors This presentation focuses on identifying those critical success factors that are required to make automated testing a cost effective contributor to agile development and discusses a few of the techniques that can be used to achieve them. Agile Regression Testing Using Record & Playback http://junit.org/news/article/index.htm#ClearStreamRecordAndPlayback There are times when it is not practical to hand-script automated tests for an existing system before one starts to modify it. In these circumstances, the use of "record & playback" testing may be a viable alternative to hand-writing all the tests. This paper describes experiences using this approach and summarizes key learnings applicable to other projects. Subverting Java Access Protection for Unit Testing http://junit.org/news/article/index.htm#SubvertingAccessProtection The Java Reflection API allows the program to introspect arbitrary classes at runtime, accessing members at will. Most competent Java programmers should know this much, but what many don't know is that the security layer preventing you from accessing private members is only optional, and can be turned off. This allows the system code to be written without explicitly planning the unit tests, and if the unit tests really do need to access a private or protected member, they can. Pragmatic Unit Testing http://junit.org/news/book/index.htm#PragmaticUnitTesting Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding comes from unit testing. Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding comes from unit testing.