Как я могу эффективно использовать ValidTests для устаревшего кода, который требует запуска приложений?

ApprovalTests looks great for legacy code, but the problem is my legacy code runs in an appserver and redeploying the app takes > 2 minutes. Because of this, I'm concerned the feedback loop of running the approval test would make me not want to run it very often. I'd probably end up changing more code without testing as often and probably get into a repeating pattern of "change->test->fail->revert".

Может ли кто-нибудь дать мне совет о том, как использовать ValidTests с устаревшим кодом, который занимает много времени для развертывания? Это именно то, что я должен ожидать, или я пишу этот тест не так?

0
nl ja de

2 ответы

Что в вашем проекте вы пытаетесь проверить?

Если вы хотите протестировать Forms with Approval Tests, вы должны найти способ отделить зависимости от приложения и позволить тестировать только против кода. Наилучшим подходом к этому является начало повторного факторизации небольших фрагментов кода в единичные тестируемые фрагменты, тогда откроется путь к разделению дисплея от источника данных и зависимостей.

Это видео полезно для рефакторинга Legacy: http://www.youtube.com/watch?v=aWiwDdx_rdo (Наблюдайте за всем, что это стоит)

This video shows a good way to separate the loading of data out from a project: http://www.youtube.com/watch?v=5gIeJ6z82Pk

1
добавлено

Я получил ответ от создателя продукта:

So the concern you have is "change->test->fail->revert" and this happens, but with smaller and more careful changes you should be able to make good progress, and failing shouldn't be rule, but an exception. Also, remember that in legacy the motto is better, not good. use this test until you refactor enough to get a test that doesn't require an appserver. then you move faster. approvaltests in and of themselves do not need to be big or slow, it is only verification. it's the doing of the test that is big or slow, and while approvaltests work great for that, it by no means a suggestion or recommendation that those are the kinds of tests you want.

Затем я спросил:

Вы говорите: «проверки одобрения позволяют протестировать этот путь, но это не очень хороший способ использования утверждений»? Если бы я правильно истолковал, что было бы лучшим подходом?

И он ответил:

<Р> да. тесты одобрения позволяют протестировать этот путь.   это не очень хороший способ тестирования.   это, скорее всего, лучший способ провести единичный тест, который у вас есть.   используйте его, пока вы не реорганизуете лучший способ модульного теста (тот, который не требует сервера).

Надеюсь, это поможет кому-то другому с тем же вопросом.

0
добавлено
QA — вакансии и аналитика рынка вакансий
QA — вакансии и аналитика рынка вакансий
5 668 участник(ов)

Вакансии и поиск работы в сфере QA. Вопросы: @qa_ru Про деньги: @qa_fin При размещении вакансии указывать: - должность - компанию - требования к кандидату - условия и ЗП хэштеги: #город #типзанятости

QA — русскоговорящее сообщество
QA — русскоговорящее сообщество
3 625 участник(ов)

Общаемся про все виды тестирования и его автоматизацию. Без мата, грубостей и провокаций. События: @qaevents Вакансии: @qa_jobs Автоматизаторы: @qa_automation Слухи про компании: @qa_bad_company

pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

QA juniors
QA juniors
2 720 участник(ов)

Добро пожаловать в чат джуниоров QA! Общаемся обо всём, что связано с тестированием и не только :) В чате царит дружественная атмосфера, поэтому общаемся без мата, грубостей. @qa_automation - автоматизация @serious_tester - для тестировщиков и QA

QA - Bad Company!
QA - Bad Company!
2 602 участник(ов)

Позитив и негатив про компании или курсы, куда не стоит идти работать или учиться, а куда стоит. За пиратский контент - бан. @qa_fin о деньгах Русскоговорящее сообщество: @qa_ru Флудилка: @qaFlood Вакансии: @qa_jobs Финансы: @qa_fin

QA — Автоматизация
QA — Автоматизация
2 434 участник(ов)

1. Обсуждение технологий автоматизированного тестирования 2. Помощь начинающим Ru-сообщество: @qa_ru Джуночат: @qajuniors Вакансии: @qa_jobs Финансы: @qa_fin Митапы и события: @qaevents Паблики: @serious_tester, @automation_remarks, @atinfo

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

QA - Finance
QA - Finance
1 347 участник(ов)

Чат о деньгах тестировщиков. ЗП, релокейты,оферы. @qa_bad_company - обсуждение компаний/курсов и карьерного роста для QA @qa_automation - авто QA Холивары, политика, религия-бан Реклама, спам, оскорбления - бан Для флуда используйте другой чат

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async