Използвах разработка, управлявана от тестове, в приложение на 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 не винаги се извиква и така мога да загубя реалните си данни.
Записвам данните във файлове, така че не е голям проблем, но не е толкова гладко и автоматизирано, колкото бих искал да бъде.
Все пак мога ли да подобря това?