Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #10554

Question re testing constructor

From Novice <novice@example..com>
Newsgroups comp.lang.java.programmer
Subject Question re testing constructor
Date 2011-12-06 15:14 +0000
Organization Your Company
Message-ID <Xns9FB3682A7DBF6jpnasty@94.75.214.39> (permalink)

Show all headers | View raw


I'm writing JUnit test cases for a constructor but have hit a bit of a 
snag. I hope someone here can help.

I've satisfied myself via googling that it makes sense to test constructors 
if they do something that might fail or if they can throw exceptions. The 
constructor in question can throw exceptions so I'm trying to write some 
test cases for it. I've got cases that cause each of the exceptions to be 
thrown but I'm having a bit of a problem with what seemed like the easiest 
test of all: existence.

It seems to me - correct me if I'm wrong - that I can easily test to make 
sure the constructor actually built SOMETHING by testing the object against 
null. That won't prove it created exactly the right object but it will 
prove that something got created. Testing the objects OTHER methods will 
verify that the correct object got created.  

If that is right, then it seems that this should test the existence of the 
object well enough:

    	Set<String> testValues = new HashSet<String>();
    	testValues.add("FF0000");
    	testValues.add("66CC99");
    	
    	for (String key : testValues) {
    		HexColor hexColor = new HexColor(key);
    		if (hexColor == null) {
    			assertTrue("The HexColor has been created for input value, 
" + key + ", but has been found to be null.", false);
    		}
    	}

Unfortunately, the assertTrue() statement gets flagged by the compiler as 
being dead code. Am I right in assuming that it is essentially looking at 
the instantiation of the HexColor class and reasoning that it will 
inevitably create SOMETHING so that hexColor can't possibly be null, 
therefore the assertTrue() can't ever be executed? 

If so, I don't have a problem with that but it leaves me a bit baffled 
about how to test that the constructor created something when I gave it 
good input values. 

Can someone enlighten me on a better way to test this aspect of the 
constructor? Or can I simply assume that the constructor worked as long as 
it didn't actually throw an exception and omit any existence tests?

-- 
Novice

Back to comp.lang.java.programmer | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Question re testing constructor Novice <novice@example..com> - 2011-12-06 15:14 +0000
  Re: Question re testing constructor markspace <-@.> - 2011-12-06 07:23 -0800
    Re: Question re testing constructor Novice <novice@example..com> - 2011-12-06 17:17 +0000
    Re: Question re testing constructor Tom Anderson <twic@urchin.earth.li> - 2011-12-06 21:25 +0000
    Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-07 00:29 +0000
      Re: Question re testing constructor Patricia Shanahan <pats@acm.org> - 2011-12-06 19:28 -0800
      Re: Question re testing constructor Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-12-06 22:57 -0600
      Re: Question re testing constructor Lew <lewbloch@gmail.com> - 2011-12-07 07:12 -0800
      Re: Question re testing constructor Lew <lewbloch@gmail.com> - 2011-12-07 07:14 -0800
        Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-07 15:59 +0000
          Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-08 19:19 +0000
      Re: Question re testing constructor ilAn <idonot@wantspam.net> - 2011-12-07 20:41 +0200
  Re: Question re testing constructor Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-06 07:34 -0800
    Re: Question re testing constructor Novice <novice@example..com> - 2011-12-06 17:15 +0000
  Re: Question re testing constructor Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-06 09:49 -0800
  Re: Question re testing constructor Roedy Green <see_website@mindprod.com.invalid> - 2011-12-06 16:40 -0800
  Re: Question re testing constructor Henk van Voorthuijsen <voorth@xs4all.nl> - 2011-12-07 00:33 -0800

csiph-web