Чтобы протестировать определенную функциональность, обычно нужно выполнить последовательность действий, чтобы добраться до точки, где вы сможете протестировать эту конкретную функциональность. Если это также относится к вашим тестам, читайте дальше.
Проблема здесь в том, что вы попадаете в то конкретное состояние, в котором ваша программа тестируется на те специфические функции, которые вы хотели протестировать. Таким образом, хитрость заключается в том, чтобы вы быстрее запрограммировали программу в этом состоянии.
Вы должны сами разобраться, как эта идея может быть реализована в вашей программе. Я не могу вам в этом помочь, это зависит от программы. Но я могу привести вам пример из моего личного опыта.
Представьте себе POS-устройство (пункт продажи / кассовый аппарат), которое может делать квитанции, накладные и документы по счетам. Общей задачей по оформлению этих документов является добавление товаров в активную квитанцию. Квитанция заканчивается как обычная квитанция, накладная или счет-фактура. В этом случае задача создания квитанции повторяется 3 раза. Чтобы обойти это, мы позволили кассовому аппарату загружать активные поступления из базы данных, ускоряя тесты на 80-90%.