.NET 4.x Unit тесты при использовании COM технологий - C#

Узнай цену своей работы

Формулировка задачи:

Есть ли смысл в тестах при использовании методов, которые работают/взаимодействуют с другой программой? К примеру, с Excel (провести тест корректной записи), Word (провести тест возвращающий колонтитулы), ЕщёКакойНибудьCOM (провести тест на возврат громадного массива)

Решение задачи: «.NET 4.x Unit тесты при использовании COM технологий»

textual
Листинг программы
//Простой интерфейс простого объекта
public interface IWordDocumentWorker
{
  void AddParagraph(); //Метод, который "оборачивает" обращение к COM-объекту
}
 
public class WordDocumentWorker : IWordDocumentWorker
{
 public WordDocumentWorker()
 {
   //Здесь создаётся и настраивается COM-объект
 }
 
 void AddParagraph()
 {
   //Здесь происходит работа с COM
 }
}
 
public class WorkingCode
{
   //Ссылка на наш "обёрнутый" COM-объект или на Fake, если речь о тестировании
   private IWordDocumentWorker docWorker;
 
   //Конструктор, в приложении будет вызываться как-то так: WorkingCode(new WordDocumentWorker());
   //Но в тесте он может вызываться так: WorkingCode(A.Fake<IWordDocumentWorker>()); <- подсовывается Fake
   public WorkingCode(IWordDocumentWorker docWorker)
   {
 
   }
 ...
   docWorker.docWorker(); //Работаем как будто это настоящий COM-объект
 ...
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.444 из 5
Похожие ответы