Class under test
public class Message {
private final String message;
public Message(final String message) {
if(null == message || message.isEmpty()) {
throw new IllegalArgumentException("Message is null or empty!");
}
this.message = message;
}
public String getMessage() {
return message;
}
}
public class MessageTest {
@Test
public void testMessageHello() {
final Message message = new Message("Hello");
Assert.assertEquals("Hello", message.getMessage());
}
@Test
public void testMessageWorld() {
final Message message = new Message("World");
Assert.assertEquals("World", message.getMessage());
}
@Test(expected= IllegalArgumentException.class)
public void testMessageIsNull() {
final Message message = new Message(null);
}
@Test(expected= IllegalArgumentException.class)
public void testMessageIsEmpty() {
final Message message = new Message("");
}
}
@RunWith(JUnitParamsRunner.class)
public class MessageParameterizedTest {
private static final Object[] getMessageValue() {
return $(
$("Hello"),
$("World")
);
}
private static final Object[] getInvalidMessageValue() {
return new String [] [] {{null},{""}};
}
@Test
@Parameters(method="getMessageValue")
public void testValidMessages(final String messageParam) {
final Message message = new Message(messageParam);
Assert.assertEquals(messageParam, message.getMessage());
}
@Test(expected=IllegalArgumentException.class)
@Parameters(method="getInvalidMessageValue")
public void testInvalidMessages(final String messageParam) {
final Message message = new Message(messageParam);
}
}
Der Rechtshinweis des Java Blog für Clean Code Developer ist bei der Verwendung und Weiterentwicklung des Quellcodes des Blogeintrages zu beachten.
private final String message;
public Message(final String message) {
if(null == message || message.isEmpty()) {
throw new IllegalArgumentException("Message is null or empty!");
}
this.message = message;
}
public String getMessage() {
return message;
}
}
Regular unit test
public class MessageTest {
@Test
public void testMessageHello() {
final Message message = new Message("Hello");
Assert.assertEquals("Hello", message.getMessage());
}
@Test
public void testMessageWorld() {
final Message message = new Message("World");
Assert.assertEquals("World", message.getMessage());
}
@Test(expected= IllegalArgumentException.class)
public void testMessageIsNull() {
final Message message = new Message(null);
}
@Test(expected= IllegalArgumentException.class)
public void testMessageIsEmpty() {
final Message message = new Message("");
}
}
Unit test with JUnitParams
@RunWith(JUnitParamsRunner.class)
public class MessageParameterizedTest {
private static final Object[] getMessageValue() {
return $(
$("Hello"),
$("World")
);
}
private static final Object[] getInvalidMessageValue() {
return new String [] [] {{null},{""}};
}
@Test
@Parameters(method="getMessageValue")
public void testValidMessages(final String messageParam) {
final Message message = new Message(messageParam);
Assert.assertEquals(messageParam, message.getMessage());
}
@Test(expected=IllegalArgumentException.class)
@Parameters(method="getInvalidMessageValue")
public void testInvalidMessages(final String messageParam) {
final Message message = new Message(messageParam);
}
}
Der Rechtshinweis des Java Blog für Clean Code Developer ist bei der Verwendung und Weiterentwicklung des Quellcodes des Blogeintrages zu beachten.