
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.11.2012, 10:33:41
|
|||
|---|---|---|---|
Java Tests |
|||
|
#18+
Добрый день! Не могу придумать как сделать такой тест: Есть скажем объект: MyObject у конструктора есть два параметра : myFirst, mySecond Причем в зависимости от mySecond значение myFirst может потом измениться. Ну простейшим примером может служить какой-нибудь класс, для работы с деньгами, типа если mySecond >= 100, то к myFirst должно прибавиться mySecond / 100. Как правильно написать тест, для проверки такой функциональности.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.11.2012, 11:16:19
|
|||
|---|---|---|---|
|
|||
Java Tests |
|||
|
#18+
Значение myFirst не может поменятся. Может поменятся его состояние, если он mutable. И в чем проблема? Давайте с более реальным примером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.11.2012, 13:19:31
|
|||
|---|---|---|---|
Java Tests |
|||
|
#18+
Ну геттер то у вас есть? Создаете объект с двумя параметрами делаете ассертикуалс, потом с другими двумя и тд. Вообще не пойму в чем проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.11.2012, 19:21:18
|
|||
|---|---|---|---|
Java Tests |
|||
|
#18+
scymaksКак правильно написать тест, для проверки такой функциональности.? Думаю что в такой постановке - никак. Если у тебя простейший Bean с сеттерами и геттерами то ему тест не нужен. Если у тебя сложный алгоритм и ты каким-то образом получил (из других источников) его аргументы и отклик то это самое-то для модульного теста. Это очень похоже на подглядывание в конец задачника. Ты знаешь заведомо точный ответ просчитанный математиком и подсовываешь его в численный метод (или алгоритм), и утверждаешь что он совпадает в окрестности эпсилон. Это хороший научный подход. В твоей постановке сложность теста практически равна сложности самого алгоритма. Тоесть вероятность допустить ошибку при написании самого теста - 100% такая же как и в самом алгоритме. Тоесть юнит тест требует юнит теста для юнит теста и т.д. до бесконечности. Кроме того у тебя как и у многих разработчиков "замыливается" глаз и ты можешь не видеть ошибки которая на поверхности. Если же тебе (вдруг!) захочется скопи-пастить алгоритм в тест то это тоже не вариант. Это систематическая ошибка которая переползёт в сам тест. Ну как вариант я-бы попробовал два утверждения. MyObject o=new MyObject(1,2); assertEquals(o.myFirst,1); MyObject o=new MyObject(1,200); assertEquals(o.myFirst,2); (Здесь нужно еще меня проверить что я не ошибся Понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2130544]: |
0ms |
get settings: |
11ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
60ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 284ms |
| total: | 472ms |

| 0 / 0 |
