Я пытаюсь написать тест Junit код для следующего кода:Почему мой тест JUnit для этого набора кодов всегда возвращает ошибки?
public class RateofPay {
public double totalSalary(double work, double work2, double hour1, double hour2, double hour3) {
double salary1 = work * hour1;
double salary2 = work2 * hour2;
double salary3 = work * hour3;
double wages = salary1 + salary2 + salary3;
return wages;
}
}
И это тест JUnit я писал:
public class WageTest {
@Test
public void testWage() {
RateofPay test=new RateofPay();
double result=test.totalSalary(1.0, 2.0, 3.0, 4.0, 5.0);
assertEquals(12.0, result);
}
@Test
public void testWage1() {
RateofPay test=new RateofPay();
double result=test.totalSalary(6.0, 7.0, 8.0, 9.0, 10.0);
assertEquals(157.0, result);
}
}
Проблема заключается в том, что каждый раз, когда я бегу тест JUnit, ни один из них не прошел тест. В результате говорится:
assertEquals (ожидается, фактический, дельта), чтобы сравнить число с плавающей точкой.
Мне интересно, что не так? Благодарю.
Пожалуйста, поделитесь журналы отказов. – nullpointer
Похоже, математика ошибается! это должно быть 16 и 171! – Santo
Более подробная информация о дельтах доступна на http://stackoverflow.com/questions/5939788/junit-assertequalsdouble-expected-double-actual-double-epsilon –