Я написал программу, которая вызывается внешним DLL-методом от устройства-производителя. Эти методы (около 600) делают подключение Ethernet к устройству. Методы выглядит следующим образом:C# NUnit Test: выкрой внешний DLL-метод, который вызывает соединение сокета с внешним устройством.
[DllImport("Libary.dll", EntryPoint = "methode1")]
public static extern short methode1(ushort Handl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] SpecialStruct1 e);
и это:
[DllImport("Libary.dll", EntryPoint = "methode2")]
public static extern short methode2(ushort Handl, short a, int b);
Теперь я хочу написать модульное тестирование для моего кода и хочу высмеивать DLL-методу. DLL написана на C и с библиотекой появился файл C# (см. Вышеприведенные методы). Мои методы выглядит следующим образом:
public int myMethode1(ushort handl, List<object> parameters)
{
int a = (int)parameters[1];
string b = (string)parameters[2];
return Libary1.Methode1(handl, ref a, b);
}
Можете ли вы сказать мне, как написать Пробный für этот внешний DLL? Как я могу проверить свои методы без устройства? Инструменты ведьмы могут мне помочь?
Пробовали ли вы какие-нибудь издевательские рамки? Если да, просмотрите этот http://stackoverflow.com/questions/20400734/c-sharp-how-do-i-mock-a-class-without-an-interface. На выбор можно найти множество фальшивых фреймворков. Вот достойный список. Http://nugetmusthaves.com/Tag/mocking. – Vinod
Проанализируйте вызовы методов dll за интерфейсом, чтобы их можно было издеваться. – Nkosi