Я управляю довольно большим приложением (50k + строк кода) самостоятельно, и он управляет некоторыми довольно важными бизнес-действиями. Чтобы описать программу просто, я бы сказал, что это модный интерфейс с возможностью отображения и изменения данных из базы данных, и он управляет около 1000 единиц аренды, и около 3 тыс. Арендаторов и всех финансов.
Когда я вношу изменения, потому что это настолько большая база кода, я иногда сломаю что-то еще. Я обычно тестирую его, перейдя к тому, что я изменил на функциональном уровне (т.е. Запустил программу и работаю через пользовательский интерфейс), но я не могу проверить каждую ситуацию. Вот почему я хочу начать с модульного тестирования.
Однако это не настоящая трехуровневая программа с уровнем базы данных, бизнес-уровнем и уровнем пользовательского интерфейса. Большая часть бизнес-логики выполняется в классах пользовательского интерфейса, и многое многое делается на событиях. Чтобы усложнить ситуацию, все связано с базой данных, и я пока не видел (до сих пор) хороших предложений о том, как unit test взаимодействовать с базами данных.
Как было бы неплохо начать работу с модульным тестированием для этого приложения. Иметь ввиду. Я никогда не делал модульного тестирования или TDD раньше. Должен ли я переписать его для удаления бизнес-логики из классов пользовательского интерфейса (много работы)? Или есть лучший способ?