Editorial Review:
A guide to unit testing Java applications (including J2EE applications) using the JUnit framework and its extensions, this book provides techniques for solving real-world problems such as unit testing legacy applications, writing real tests for real objects, automating tests, testing in isolation, and unit testing J2EE and database applications. Using a sample-driven approach, various unit testing strategies are covered, such as how to unit test EJBs, database applications, JSPs, and Taglibs. Also addressed are testing strategies using freely available open source frameworks and tools, and how to unit test in isolation with Mock Objects. Testing J2EE applications by running tests from inside the container for performing integration unit tests is discussed, as is how to automate unit testing in automated builds (such as Ant and Maven) for performing continuous integration.
Cached date: AWS Called=true
You may also be interested in these products:
These categories may also be of interest to you:
Customer Reviews
Average Customer Rating: 
A bit verbose 2008-09-26 So I am relatively new to Java programming and self-taught. I have read some of the sold basics such as Murach's Java SE 6, Head First Java, Effective Java amongst others, and I have started coding and I like what I am doing. Sure, I understand that unit testing is important, and it is not difficult to see the benefits, so where to do I start.
If I wanted to read a novel I would buy one, but I bought a JUnit book and I want to know how. I can recognize a good java books and this is not one of them. It does not cut to the chase, it takes a linear narrative approach throughout in that it sort of assumes in later chapters that you have completed the previous chapters in detail. It assumes you have very little java knowledge and attempts to nurse you through with "gentle encouragement etc" It is also filled with pseudo poetic guff, such as "The exceptional test case is where unit tests really shine". 1) java doesn't shine but stars do as do polished cadillac fenders and 2) even a beginner can see that this should be bread-and-butter unit testing stuff and nothing particularly spectacular. Anyway, the book padded with this sort of guff.
What is it with computer programming authors, some are really expert, clear, and cut to the chase, others just want to express their inner whatever and caring and sharing in their texts, they should readDating Design Patterns and leave the computer market to those who can.
Best Junit book 2008-07-11 This is one of the best Junit books that I have read. Definitely a keeper in your bookshelf
Good book, but needs new version. 2007-03-10 With the new Junit4, the book needs a new version.
Good Introduction to UNIT testing 2007-02-28 I read this book pretty much from cover to cover. I found it to be a nice introduction to the unit testing strategy now widely employed in software development projects. This book does put the testing procedures in perspective and it touches upon different types/levels of testing that need to performed to ensure that the code is as bug-free as possible. I really got interested in writing unit tests after writing this book. The concept of Test Driven Development made a lot of sense and I will certainly try to incorporate this strategy into future projects. Most of the time explanations are consice, clear and to the point. Several open source frameworks such as EasyMock and DynaMock are introduced briefly - although the level of detail is not as good as I would like it to be, it is nevertheless good to know where to look for frameworks (that someone already developed) you might need for your projects.
The only downside to this book is that it is out of date. The JUNIT used in this book (3.8) is not the latest version available. I tested all of the code after downloading it from the web and I found that some of the samples did not work. In some cases, the software is dated. For example, in some chapters, the author uses Maven 1.0 instead of ANT as the build tool. However, for Maven to work, it needs to download several jar files from remote repository to the local repository on your machine. The very first time you run Maven, it is supposed to do this automatically for you before building your project; however, Maven 2.0 is out and the remote repository links with Maven 1.0 is broken which means that you need to download several jar files from google manually and put them in relevant folders - since there are several of them, I eventually gave up after doing a partial configuration. Note that the build files that use Maven 1.0 will not work with Maven 2.0 - you will need to do significant configuration changes in order to get this to work. I am new to Maven (although I am very experienced with ANT), so I did not bother with trying to get these code samples to work. The other thing I noticed is that some of the Cactus examples are not working in this book. In some cases, I had to do configuration changes and in others such as the chapter on unit testing the EJB, I was not yet able to figure out what went wrong. In any case, you can't simply expect to run the code and expect it to work especially in the later chapters!!! Be prepared to spend time to figure out what went wrong and how to fix it.
All in all, it is a nice book on introduction to unit testing and I will certainly recommend it to newcomers to this arena. Also, note that the level of detail and treatment provided in this book is not sufficient for real world projects. I am planning on getting a more advanced book (JUnit Recipies) to complete the picture.
Since this book I am a unit test enthusiast 2006-09-28 Before reading this book I seldom wrote unit tests and when I just did it to make the project manager happy. I didn't really grasp what unit test is all about. I suppose many programmers in the industry know that unit testing is important. But they don't write any unit tests as it is boring and the next deadline is very close any way.
I started reading this book because a customer made me frustrated. He complained that stuff which worked in the last release doesn't work any more in the current release. This is of course a very unsatisfying situation. This stems from the fact that every software modification may lead to side effects. E.g. something which was OK before is now broken. Worst of all programmers don't know that something is not working any more. Programmers concentrate on what they are paid for and that is writing code. Most programmers are too optimistic as they assume that everything is working properly. And therefore they rarely test the same features again. How nice would it be to have "something" which tells the programmer that a feature is not working any more !
Well this "something" is called "Unit Testing". This book makes a good introduction to unit testing. It explains why you need less time to fullfill your tasks when you write unit tests and why there are fewer bugs. It is shown how stub and mock classes are used to break dependencies to other classes and other systems. It is pointed out how unit tests simplifies refactoring and how this leads to better design.
This refactoring approach is what me made enthusiatic about unit testing. Let's assume your task is to extend a poorly designed, undocumented application. The programmer who created this application left the company. So you have nothing else than undocumented code. What you do about it ? Well you can start writing unit tests to figure what the application does and how it works. Once you have a unit test suite you start refactoring and documenting the application. Thanks to your unit test suit you can perform the refactoring without fearing to break something which worked before.
Even though all examples are written in java the concepts and ideas layed out can be applied to other object oriented programming languages such as C++, VB.NET and C#.
However, this book fails to mention that unit testing is not a replacement for proper requirements engineering. Even with unit testing you still need to find an agreement with your customer on the features he wants to order.
Besides that, this book provides a good reading on a topic which will become even more important in the future. Let's hope that more programmers will read this book as this will improve software quality in this industry.
|
|