В качестве упражнения, мне нужно, чтобы научиться писать тесты на следующий класс:Ресурсы для JUnit тестирования класса
пакета ВагЛАссоипЬ;
public class CurrentAccount {
int account[];
int lastMove;
CurrentAccount() {
lastMove = 0;
account = new int[10];
}
public void deposit(int value) {
account[lastMove] = value;
lastMove++;
}
public void draw(int value) {
account[lastMove] = value;
lastMove++;
}
public int settlement() {
int result = 0;
for (int i=0; i<account.length; i++) {
result = result + account[i];
}
return result;
}
public static void main(String args[]) {
CurrentAccount c = new CurrentAccount();
c.deposit(10);
}
}
Я относительно новым для тестирования единицы, и много учебников просто покрывают, как сделать тесты для простых математических операторов (например, сложение, вычитание и т.д.). Может ли кто-нибудь рекомендовать хорошие ресурсы для проведения модульного тестирования более сложных функций? Могу ли я лучше с помощью
http://junit.sourceforge.net/javadoc/org/junit/Assert.html
и работать оттуда?
OK. Предположительно, начальный баланс будет указан как плавающий? Куда он пойдет в коде? Было бы правильно в начале? Если вы перейдете, я бы предпочел, чтобы он сделал System.out.println, отображая сообщение об ошибке, когда общий баланс опускается ниже 0? –
Это проблемы дизайна, а не проблемы с тестированием. Я отмечаю, что вы храните транзакции и получаете баланс через метод расчета(), поэтому у вас нет * * начального баланса, кроме начального значения в методе расчета(). Что вы делаете, если перейдете? Это проблема спецификации. Вы можете сделать исключение. Или выпустите предупреждение. Или просто согласитесь с ним, и у вас есть другие учетные записи мониторинга процесса с балансом ave. –
Большое спасибо. Вы можете написать образец теста для тестирования массива (например, одного расчетного), чтобы помочь мне провести тестирование массива вокруг головы? –