Jak mogę użyć assertEquals, aby sprawdzić, czy komunikat o wyjątku jest poprawny? Test przechodzi, ale nie wiem, czy trafia w odpowiedni błąd, czy nie.junit testing - assertEquals for exception
Test, który prowadzę.
@Test
public void testTC3()
{
try {
assertEquals("Legal Values: Package Type must be P or R", Shipping.shippingCost('P', -5));
}
catch (Exception e) {
}
}
Metoda testowana.
public static int shippingCost(char packageType, int weight) throws Exception
{
String e1 = "Legal Values: Package Type must be P or R";
String e2 = "Legal Values: Weight < 0";
int cost = 0;
if((packageType != 'P')&&(packageType != 'R'))
{
throw new Exception(e1);
}
if(weight < 0)
{
throw new Exception(e2);
}
if(packageType == 'P')
{
cost += 10;
}
if(weight <= 25)
{
cost += 10;
}
else
{
cost += 25;
}
return cost;
}
}
Dzięki za pomoc.
Dziękujemy! Prosty i bardzo pomógł – Meowbits