Я в основном предпочитаю что-то типа фикстур, когда в тесте ты говоришь что для тесту нужно (должен быть пользователь, у него должен быть файл, должен быть другой пользователь, этот файл отправлен другому пользователю...)
В итоге перед началом теста он проверяет, что все условия выполнены, если не выполнены - делает то что ещё не сделано (создаёт второго пользователя и отправляет ему файл, например)
И после этого уже начинается тест.