Здравствуйте, Shmj, Вы писали:
S>·>Вот сделай решение, покажи, будем посмотреть как его тестировать. Интерфейсы не тестируются, тестируется реализация. S>Ну если TDD — сначала пишем тест, потом реализацию нам GPT сам пишет.
Ну так тогда у GPT и спрашивай. Сюда зачем пришёл?
S>Но тут вопрос — как проверить что реализация действительно рабочая?
Многопоточка в общем случае не тестируется никак. Поэтому сводят к каким-то более ограниченным примитивам. Скажем, у тебя там Task, вот от него и пляшем. Реализация будет куда-то лазить на новой сессией, вот это место и мокаем тестом в виде тамошнего Task, который завершаем в разные моменты и тестируем что получается.
Так что ещё раз. Начни с реализации, а там поглядим.
S>Функционал очень простой — если сессия устарела — вызываем метод ResetSession и потом получаем новую сессию RetrieveSession.
Какой-то корявый интерфейс. А если результат RetrieveSession тоже устареет? Начни с правильного дизайна.
S>Но нюанс — +- в одно время ResetSession могут вызвать 200 методов и так же затем вызывать RetrieveSession — а создать сессию нужно только 1 раз.
Ты пытаешься выжать гарантию корректности из blackbox тестирования? Ну успехов.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай