Есть ли способ, которым я могу настроить свой класс таким образом, чтобы он не выбрасывался после
Тестовый материал запущен, чтобы убедиться, что фоновые задачи завершены?
У вас могут быть некоторые проблемы с дизайном здесь. Dispose
обычно должен быть последним вызовом в вашем модульном тесте (если только вы не тестируете Dispose
). В этот момент тест уже должен был сообщить об ошибке или вот-вот пройдет. Позвонив Dispose
, вы, разработчик, говорите, что больше нет необходимости использовать этот класс. Если вам больше не нужно использовать этот класс, то почему важно, чтобы фоновые задачи завершались раньше. Вы понимаете, к чему я клоню?
Если в вашем классе есть конкретная операция, зависящая от завершения этих фоновых задач, то метод, используемый для вызова этой операции, должен внутренне ожидать завершения этих задач, прежде чем продолжить. Это приведет к блокировке этого метода, что, в свою очередь, также приведет к блокировке вашего тестового кода. Если тестируемый метод является асинхронным, то ваш класс должен предоставить механизм для ожидания завершения операции.