{"guid":"dafe38a9-1feb-5273-90f2-5fc8ef102b62","title":"To sleep in a sea of Tests | Refactoring a testing \"framework\" from hell","subtitle":null,"slug":"lixcon-2026-1-to-sleep-in-a-sea-of-tests-refactoring-a-testing-framework-from-hell","link":"https://pretalx.dgnum.eu/lixcon-2026/talk/KBFUXL/","description":"Taking a look at the `functional` test suite, pointing out its concepts and flaws to then take a look at its successor `functional2`\n\nMany curses and screams of frustration has the functional test suite brought forth in many - if not all - lix developers. Hence people wanted a successor. \nIn this session, we will talk about all the pain, impurities and falkeyness of the functional suite, look at the features and non-features of functional2, and the pain of migrating tests.\n\nLicensed to the public under http://creativecommons.org/licenses/by/4.0","original_language":"eng","persons":["rootile"],"view_count":98,"promoted":false,"date":"2026-04-17T14:15:00.000+02:00","release_date":"2026-04-19T00:00:00.000+02:00","updated_at":"2026-04-21T13:00:05.273+02:00","tags":["1","2026","lixcon2026","Amphitheater Dussane","lixcon2026-eng","Day 1"],"length":1019,"duration":1019,"thumb_url":"https://static.media.ccc.de/media/events/lixcon/2026/1-dafe38a9-1feb-5273-90f2-5fc8ef102b62.jpg","poster_url":"https://static.media.ccc.de/media/events/lixcon/2026/1-dafe38a9-1feb-5273-90f2-5fc8ef102b62_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/lixcon/2026/1-dafe38a9-1feb-5273-90f2-5fc8ef102b62.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/lixcon/2026/1-dafe38a9-1feb-5273-90f2-5fc8ef102b62.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/lixcon-2026-1-to-sleep-in-a-sea-of-tests-refactoring-a-testing-framework-from-hell","url":"https://api.media.ccc.de/public/events/dafe38a9-1feb-5273-90f2-5fc8ef102b62","conference_title":"LixCon 2026","conference_url":"https://api.media.ccc.de/public/conferences/lixcon2026","related":[],"recordings":[{"size":115,"length":1019,"mime_type":"video/webm","language":"eng","filename":"lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-04-19T16:04:33.289+02:00","recording_url":"https://cdn.media.ccc.de/events/lixcon/2026/webm-hd/lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/98964","event_url":"https://api.media.ccc.de/public/events/dafe38a9-1feb-5273-90f2-5fc8ef102b62","conference_url":"https://api.media.ccc.de/public/conferences/lixcon2026"},{"size":40,"length":1019,"mime_type":"video/webm","language":"eng","filename":"lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-04-19T16:03:26.127+02:00","recording_url":"https://cdn.media.ccc.de/events/lixcon/2026/webm-sd/lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/98963","event_url":"https://api.media.ccc.de/public/events/dafe38a9-1feb-5273-90f2-5fc8ef102b62","conference_url":"https://api.media.ccc.de/public/conferences/lixcon2026"},{"size":10,"length":1018,"mime_type":"audio/opus","language":"eng","filename":"lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2026-04-19T15:56:50.628+02:00","recording_url":"https://cdn.media.ccc.de/events/lixcon/2026/opus/lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_opus.opus","url":"https://api.media.ccc.de/public/recordings/98962","event_url":"https://api.media.ccc.de/public/events/dafe38a9-1feb-5273-90f2-5fc8ef102b62","conference_url":"https://api.media.ccc.de/public/conferences/lixcon2026"},{"size":15,"length":1019,"mime_type":"audio/mpeg","language":"eng","filename":"lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2026-04-19T15:56:07.701+02:00","recording_url":"https://cdn.media.ccc.de/events/lixcon/2026/mp3/lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/98961","event_url":"https://api.media.ccc.de/public/events/dafe38a9-1feb-5273-90f2-5fc8ef102b62","conference_url":"https://api.media.ccc.de/public/conferences/lixcon2026"},{"size":37,"length":1019,"mime_type":"video/mp4","language":"eng","filename":"lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-04-19T15:52:51.180+02:00","recording_url":"https://cdn.media.ccc.de/events/lixcon/2026/h264-sd/lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_sd.mp4","url":"https://api.media.ccc.de/public/recordings/98959","event_url":"https://api.media.ccc.de/public/events/dafe38a9-1feb-5273-90f2-5fc8ef102b62","conference_url":"https://api.media.ccc.de/public/conferences/lixcon2026"},{"size":149,"length":1019,"mime_type":"video/mp4","language":"eng","filename":"lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-04-19T15:34:35.157+02:00","recording_url":"https://cdn.media.ccc.de/events/lixcon/2026/h264-hd/lixcon2026-1-eng-To_sleep_in_a_sea_of_Tests_Refactoring_a_testing_framework_from_hell_hd.mp4","url":"https://api.media.ccc.de/public/recordings/98950","event_url":"https://api.media.ccc.de/public/events/dafe38a9-1feb-5273-90f2-5fc8ef102b62","conference_url":"https://api.media.ccc.de/public/conferences/lixcon2026"}]}