|
|
|
Как тестировать класс создающий все свои сущности сам?
|
|||
|---|---|---|---|
|
#18+
Есть класс выгляди исходно вот так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Мне нужно протестировать что он вызывает commitService.getCommits(repo) только раз в день, то есть заходит в ветку true условия. Было бы неплохо создать мок CommitService и вызвав getAllCommits потом проверить через verify. Вопрос, нормальная ли практика в подобном случае переписывать класс как указано ниже, только ради возможности его протестировать? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 20:09:25 |
|
||
|
Как тестировать класс создающий все свои сущности сам?
|
|||
|---|---|---|---|
|
#18+
MaxNevermind , Поменьше запаривайтесь над такими мелочами. Тесты это тесты. Здесь к вам требований значительно меньше. Хотите - вставляйте так, как вы написали. Хотите, инстанцируйте этот сервис и сохраните в поле класс, а потом лезьте в него рефлекшном. Хотите, создайте статический флажок, переключая который тем же рефлекшном ваш класс будет идти либо в нормальный сервис, либо подставлять ваш мок. Хотите - вызывайте сервис два раза, а потом прямо в тесте читайте из Гита, и проверяйте, что закомитилось только 1 раз. Ваще пофиг, это тесты. Тут такое дело, что с одной стороны тесты не могут и не должны быть определяющим критерием того, как вы пишете тот или иной участок кода. С другой стороны, совсем плевать на тестируемость тоже нельзя. Нужно найти баланс, удовлетворяющий вас. Профессионализм любого инженера заключается не в знании каких-нибудь API, а в умении находить грамотный баланс в таких вот спорных ситуациях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 21:20:10 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38470442&tid=2128170]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 495ms |

| 0 / 0 |
