|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Добрый день. При разработке ПО под Delphi, для контроля работы функций и процедур (входные данные -> выходные данные) Я делаю отдельную десктопную программу в виде формы с окнами ввода-вывода данных, кнопкой "Старт" и функцией или процедурой в обработчике кнопки. Такой подход позволяет проверить работоспособность кода функции до использования в кода программе, или службе и избежать множества головняков, когда ошибки накладываются на ошибки. в Delphi такой подход (расчленение кода на элементарные подпрограммы) считается единственно правильным В Java нет функций и процедур но есть классы с методами и полями что приблизительно все то же самое. в букварях также пишут о необходимости расчленения кода на элементарные подпрограммы. соответственно хотелось с удобствами проверять работоспособность класса. cmd, javac, jar и прочее тормозят работу, гораздо проще нажать на кнопку на форме программы и получить результат, к тому же вводить данные в консоль не очень удобно Вопросы(работа под Windows): 1. где то читал что есть IDE позволяющие запускать java код, типа как в DElphi, прямо из редактора. никто не в курсе что это, удобное в использовании? 2. допустим есть откомпилированный класс (file.jar компиляция через Maven) и файлы с зависимостями в комплекте. как все это запустить с передачей входных данных и выводом результата но не в консоли а в окна ввода-вывода, типа десктопная программа, хорошо бы скрестить форму из Delphi с запуском в ней file.jar 3. может есть какие то ещё варианты Заранее всем спасибо за ответы на заданные вопросы ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 12:47 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair, Можно ссыль на дельфи топики? Я на нем писал и ничего такого там не было) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 13:22 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair, Пойми. Весь твой опыт с десктопом совершенно не катит с java. Java это веб проекты в основном. Поэтому требования "быстро запустить кусок кода" тут не катят совершенно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 13:26 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 13:28 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair, >cmd, javac, jar и прочее тормозят работу, == это тебе в дельфи дельфисты сказали? Сознавайся))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 13:32 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
интуитивно мне кажется, что ТС говорит про тесты, но это не точно (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 14:12 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
chpasha, Да. Но у него тесты это формочка утилита в ГУИ. А тестов сприг бут у него крыша поедет ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 14:31 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Как в Delphi, так и в Java это все решать нужно совершенно по-другому. Для проверки нашего кода мы его должны протестировать и есть два способа: 1. Ручное тестирование - запустить приложение и прокликать (то что ты делал под Delphi - это эдакий подвид ручного тестирования) 2. Автоматизированное тестирование - написать тестовый код который будет вызывать production код и проверять что он правильно выполнил свои обязанности. Оба вида тестирования необходимы. С ручным наверно все понятно, а вот для автоматизированного почитай про JUnit. Когда прийдется выбирать - выбирай лучше JUnit4, а не JUnit5. Последний намного сложней, а пользы тебе от него не будет скорей всего. Также тесты можно делить по тому как много они инициализируют для своей работы: - Unit Tests - могут работать с классом или несколькими классами, не используют внешние ресурсы (БД, удаленные сервисы и т.д.) - Component Tests (еще называют Integration Tests, тут увы хорошего названия нет) - поднимают прям приличный кусок приложения, возможно используют базу данных - System Tests - мы полностью запускаем приложение и используем внешние возможности (UI, API) для его проверки. Начни с 1ого, потом можно будет пробовать 2ое. 3е возможно тебе никогда и не нужно будет. Более подробно: 1. Про классификацию тестов 2. Как какие тесты писать 3. Как писать production код чтоб его можно было тестировать ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 14:57 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, Добавлю что есть еще Архитектурное тестирование. Это MVC, MVP, MVVP, MV* КЛАСС ФУНКЦИОНАЛА ОТДЕЛЕН ОТ ГУИ ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:02 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, понятия "архитектурное тестирование" не знаю.. MVC и иже с ними - это подходы для написания UI логики, связывания ее с бизнес логикой. Какие-то из них способствуют модульному тестированию и ставят на это большой акцент (MVP), какие-то.. ну просто просто такая вот архитектура, кому-то показалась удобней, безотносительно тестирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:14 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, Ну, термин конечно не ГОСТ'овский, но помогает цели - писать устойчивый код. Автор вместо слово тест употребил Работоспособный код))) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:20 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, >кому-то показалась удобней, = были четкие цели - уменьшить связанность для.... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:22 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
НУ хорошо, еще раз 1. есть некий откомпилированный в file.jar класс(несколько + импорт) 2. у класса есть поля (два для ввода строк и одно для вывода строки) и методы (да неважно какие, их как раз и нужно сочинить и проверить) нужна форма с полями ввода и вывода и кнопка запуска - ввожу строки в поля ввода - нажимаю кнопку и в поле вывода получаю или результат или текст исключения если исключение дорабатываю класс в редакторе, пакую (МАВЕН) и опять по кругу. Да, возможно ИДЕ типа иклипс все такое делает, но пока на изучение ИДЕ нет времени и НЕОБХОДИМОСТИ. Я просто разбираюсь с тем что есть ЖАБА! Так что? есть какие то варианты по простому писать код в текстовом редакторе и по простому его тестировать вот так понятно что мне нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 18:53 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair нужна форма с полями ввода и вывода и кнопка запуска - ввожу строки в поля ввода - нажимаю кнопку и в поле вывода получаю или результат или текст исключения В чем проблема? Что не получилось? Если вообще ничего не получилось, то сколько платите денег. Но это лучше в подфорум https://www.sql.ru/forum/job ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 18:55 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
AFAIK для тестирования SOAP такие программы есть Но для тестирования отдельного класса/метода таким бредом вряд ли кто занимается. Для этого есть JUnit (о котором уже говорили) и никакие интерактивные формы нафиг не сдались. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 19:00 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
авторLeonid Kudryavtsev, В чем проблема? Что не получилось? Если вообще ничего не получилось, то сколько платите денег. Но это лучше в подфорум https://www.sql.ru/forum/job да все получится, не надо так волноватьси денег? ахахаха ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 19:08 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair, Есть javaFX. Иди помучайся хоть денёк. Потом приходи. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 19:18 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair нужна форма с полями ввода и вывода и кнопка запуска - ввожу строки в поля ввода - нажимаю кнопку и в поле вывода получаю или результат или текст исключения если исключение дорабатываю класс в редакторе, пакую (МАВЕН) и опять по кругу. Я не думаю что тебе кто-то другой ответ даст. Поэтому если хочешь продолжать делать по-своему, то тут никто не сможет помочь. Я за 13 лет работы ни разу не слышал чтоб кто-то создавал формочки для тестирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 19:21 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
авторStanislav Bashkyrtsev, Написать модульный тест намного быстрей и проще Знаю, буквари читал. мне нужно попробовать покрутить повертеть. по простому и по моему - по простому это так: - написать код класса в текстовом редакторе (уже все работает) - упаковать в .жар через МАВЕН в консоли(уже все работает) - подсунуть .жар в ГУИ, ввести данные нажать батон получить результат если результат не тот все по новой при этом файл.жава может не иметь метода МЕЙН и быть набором методов и полей еклипс имеет множество настроек, возможностей, вариантов. очень не хочется забивать голову потенциально не нужным хламом ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 19:49 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Уже пять человек пришло и сказало про модульные тесты. А вы упираетесь зачем-то. То, что описываете это не быстро. Это очень долго. Нужно что-то собирать, что-то запускать, куда-то тыкать, что-то вводить. Вместо того чтобы просто написать пару строчек вызова класса и запустить maven test. Да, придется разобраться, но уж извольте. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 20:21 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair, Думаю вас и в дельфи никто не понял с таким упрямством. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 20:32 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2021, 06:35 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair, Код в текстовом редакторе, проверка работоспособности класса в формочке, ... Можно конечно и зубной счеткой двор подметать, но для этого есть специальные инструменты, хотя бы метла. Потрать немного времени на изучение инструментария, это потом окупится. Для написания кода, возьми IDE -шку, например тот же эклипсе. Из очевидных плюсов: - проверка синтаксиса (часть ошибок ты будешь видеть уже на этапе написания кода); - синтаксис помощник (сокращает время на написание кода, так как иде тебе много чего будет подсказывать). Для тестирования - Junit - Пишешь несколько тестов, запускать можешь все разом в том же maven-е; - Есть расширенные возможности (выполнение теста при условии, в определенной среде, многократный запуск и прочее). Тебе уже несколько человек ответили, а ты все на своем стоишь. Если уж решил делать по своему, то (по моему мнению) тебе проще будет писать код в иде, и там же его тестировать: Пишешь класс, например, калкулятор: Код: 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.
а под него пишешь класс, где будешь тестировать его функционал: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2021, 08:39 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
faustgreen, Спасибо что прочитали, но! вот это int FIRST_ARG = 20; int SECOND_ARG = 10; внутри класса не то что нужно. нужно передавать эти параметры извне и результат то же выводить наружу консоль это конечно хорошо, на первые 5 минут изучения Java. но реально классы обмениваются данными через поля и все это и нужно имитировать в работе стенда: - исходник - .жар файл полученный из МАВЕН - стенд с вводом данных и выводом результата по нажатию батона тут все время пишут о тестировании. все правильно конечно, если у тебя проект целиком. но если у тебе нужно написать только класс, для стороннего проекта? как тогда проверить работоспособность кода? если не сложно... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2021, 11:23 |
|
Способы проверки класса на соотвествие ТЗ
|
|||
---|---|---|---|
#18+
Pcrepair, >но реально классы обмениваются данными через поля и все это и нужно имитировать в работе стенда: = реально пища для класса идет там где пасует дельфи. Это контекст, инжекция, декларативное программирование, конфиги аппСервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2021, 11:27 |
|
|
start [/forum/topic.php?fid=59&msg=40063993&tid=2120469]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
39ms |
get topic data: |
2ms |
get forum data: |
1ms |
get page messages: |
554ms |
get tp. blocked users: |
0ms |
others: | 278ms |
total: | 899ms |
0 / 0 |