Я использовал разработку через тестирование в приложении Seaside, с которым я играл, и все мои данные хранятся в виде объектов на изображении (в отличие от базы данных).
Поэтому, когда я запускаю свои тесты, мне нужно быть осторожным, чтобы сохранить реальные данные, прежде чем они будут уничтожены тестовыми данными, например:
ToDoTest>>setUp
savedTasks := Task tasklist.
Task deleteAllTasks.
savedProjects := ToDoProject projectlist.
ToDoProject deleteAllProjects.
savedPeople := Person peoplelist.
Person deleteAllPeople.
И:
ToDoTest>>tearDown
Task tasklist: savedTasks.
ToDoProject projectlist: savedProjects.
Person peoplelist: savedPeople
Проблема возникает, когда мои тесты терпят неудачу, что, конечно же, происходит, это вызывает отладчик, и я могу исправить это, но tearDown не всегда вызывается, и поэтому я могу потерять свои реальные данные.
Я сохраняю данные в файлы, так что это не большая проблема, но это не так гладко и автоматизировано, как мне бы хотелось.
В любом случае, я могу улучшить это?