amarao (amarao_san) wrote,
amarao
amarao_san

Подготовка к тяжёлому рефакторингу

Я понял, что меня останавливает от реального рефакторинга центральной части программы. Эта часть "сшивает" другие куски программы вместе, и любое прикосновение к ней отражается на всей функциональности. Она прикрыта тестами, но это юнит-тесты, они не 'bdd' ни в один момент времени. И я не хочу их трогать.

Но надо. Так что придётся сесть за bdd-тесты, которых не ожидается особо много, но которые должны описать 10-20 сценариев выполнения программы. В силу особенностей программы, ключевое место для "мока" будет в районе socket, и я планирую использовать httpretty с его .record режимом для записи того, что делает программа сейчас. Предполагается, что потом она должна делать то же самое и вести себя так же, вне зависимости того, как я переделаю эту самую "центральную часть".

Если кто-то знает что-то умное по поводу .record в httpretty или знает более удачный вариант - скажите сейчас, потом переделывать поздно будет.
Subscribe

  • План действий

    AAA при логине ведёт себя по разному в зависимости от того A это или AAAA.

  • Админский гольф

    Вам выдали шелл на сервер, на котором кто-то удалил все симлинки (т.е. файлы типа "симлинк"). Ваша задача починить сервер. Починенным сервер…

  • продолжая leetcode

    Первый раз я ощутил Силу. Задача - roman numerals, с обещанием, что на входе нет мусора. pub fn roman_to_int(s: String) -> i32 { let mut acc =…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments