В своих модульных тестах я хочу иметь дело с наихудшим сценарием. В веб-контексте опасным сценарием является то, что пользователь дважды щелкает по кнопке или ссылке, таким образом генерируя дважды один и тот же запрос.
Чтобы проверить это, я хотел бы настроить два потока, которые выполняют один и тот же запрос в моем веб-приложении. Но мне нужно, чтобы потоки были очень синхронизированы: я знаю, что все будет работать, если потоки обрабатываются последовательно. Мне нужен способ обеспечить выполнение только одной инструкции в одном потоке, затем выполнение нескольких инструкций в другом потоке и т. Д. Мне нужен ненавязчивый способ сделать это, чтобы я мог проверить любой запрос в моем веб-приложении.
Одна сложность, которую я предполагаю, это «что является в точности инструкцией?». Я не уверен в этом. Может быть, это можно понять так же, как это понимает PDB (когда вы набираете «next», вы переключаетесь на инструкцию «next»).
Есть ли ненавязчивый способ, которым я мог бы синхронизировать каждую инструкцию в потоках Python? Или есть библиотека, которая делает это?