Я новичок в TDD практике, и мне было интересно, хорош ли мой подход из особого случая.
Я хочу запрограммировать небольшое программное обеспечение, которое принимает группу строк массива в параметре и разделяет вся строка в этой группе.
Пример:
{"C - 3 - 3", "M - 5 - 5"} должно вернуть {{"C", " 3 "," 3 "}, {" M "," 5 "," 5 "}}
Избавившись от проблемы, я начал с StringSplitter и StringSplitterTest с TDD, чтобы разделить только одна строка в массив строк.
После этого я запрограммировал StringGroupSplitter и StringGroupSplitterTest (всегда с подходом TDD), делая то же самое, но с массивом строк (зная, что StringGroupSplitter имеет зависимость StringSplitter) .
Итак, я вспомнил «ПЕРВЫЕ» принципы модульных тестов и, в частности, принцип независимости, согласно которому тест не должен зависеть от результата другого теста.
В моем случае, проблема в том, что из-за зависимости StringGroupSplitter и StringSplitter, если в StringSplitterTest не выполняется только один тест, тесты в StringGroupSplitterTest также не пройдут.
Поэтому мой вопрос заключается в следующем: правильный ли мой подход к TDD?
Спасибо заранее.