У меня есть C # API Library (.Net Framework 4.5.2), и я хочу создать регрессионные тесты для сравнения двух версий API.
Вся информация, которую я нашел, о том, как создавать регрессионные тесты для Restful API, что не в моем случае.
Сегодня у меня есть проект, который загружает 2 версии этого API с другим псевдонимом. Например:
- Производственная версия загружается из nuget.
- Разработка загружается из решения.
Преимущества этого подхода:
- Очень легко отлаживать, когда есть разница (в отличие от сравнения файла со многими данными из разных классов или свойств)
- У меня есть ошибки во время компиляции (в отличие от использования отражения)
У этого подхода есть два больших недостатка, которые затрудняют его поддержку:
- Существует много дублирования кода. (Мне нужно написать тот же код
для каждой версии API)
- Мне нужно написать полное пространство имен каждого
класс, чтобы использовать его.
Есть ли лучший способ сделать это? Или есть какой-нибудь инструмент или фреймворк, который это делает?
Пример того, что я имею сегодня:
extern alias devVer;
using devVerApi = devVer::ApiLibrary;
using prodVerApi = ApiLibrary;
[TestMethod]
public void ClassWithSomeLogicTests_CheckRegression()
{
var prodClass = new prodVerApi.ClassWithSomeLogic("Text");
var devClass = new devVerApi.ClassWithSomeLogic("Text");
Assert.AreEqual(prodClass.GetLength(), devClass.GetLength());
}