Cover the Edge Cases

 class​ TransmissionParserTest {
 
» @Test
 void​ testValidTransmission() {
  TransmissionParser parser = ​new​ TransmissionParser();
 
  Transmission transmission = parser.parse(​"032Houston, UFO sighted!"​);
 
  Assertions.assertEquals(32, transmission.getId());
  Assertions.assertEquals(​"Houston, UFO sighted!"​,
  transmission.getContent());
  }
 }

In a perfect world, you’d test your code for every possible input parameter. But most of the time, you simply can’t. Already, a simple 32-bit integer would require 2^32 tests. That’s over 4 billion! Instead of testing every possibility, you should cover the normal execution path and the settings that are most likely to go wrong. Put differently, you should cover edge cases. ...

Get Java By Comparison now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.