Mittwoch, 21. November 2012

Erwartete Exception in JUnit

Wieder ein Klassiker, den ich jedesmal vergesse, wenn ich ihn brauche - drum hier im Blog. Ich erwarte in JUnit einen Exception, und möchte auch die Message der Exception testen. Hier ist die Lösung:
@Rule
public ExpectedException dupliziertesTargetJUnitRule = ExpectedException.none();
@Test
public void duplikateException(){
dupliziertesTargetJUnitRule.expect(PolicyException.class);
dupliziertesTargetJUnitRule.expectMessage("PolicyDuplikat1");
dupliziertesTargetJUnitRule.expectMessage("PolicyDuplikat2");
//Code, der die Exception auslöst...
Environment frameworktest= new Environment();
brokerportal.addAttribute(EnvironmentAttributeType.APPLICATION, "frameworktest");
SARERequest request = new SARERequest(arbeiter, Action.MUTATE, vertrag, frameworktest);
Decision entscheid = RPDP.doerDaeDaDaa(request);
}
Möchte man die Message nicht anschauen, erwartete bloss, dass es knallt, genügt dies:
@Test(expected=PolicyException.class)
public void duplikateException(){
//Code, der die Exception auslöst...
Environment frameworktest= new Environment();
brokerportal.addAttribute(EnvironmentAttributeType.APPLICATION, "frameworktest");
SARERequest request = new SARERequest(arbeiter, Action.MUTATE, vertrag, frameworktest);
Decision entscheid = RPDP.doerDaeDaDaa(request);
}

Keine Kommentare:

Kommentar veröffentlichen