Создание регрессионных тестов для библиотеки C # API - PullRequest
0 голосов
/ 25 июня 2019

У меня есть C # API Library (.Net Framework 4.5.2), и я хочу создать регрессионные тесты для сравнения двух версий API. Вся информация, которую я нашел, о том, как создавать регрессионные тесты для Restful API, что не в моем случае.

Сегодня у меня есть проект, который загружает 2 версии этого API с другим псевдонимом. Например:

  1. Производственная версия загружается из nuget.
  2. Разработка загружается из решения.

Преимущества этого подхода:

  1. Очень легко отлаживать, когда есть разница (в отличие от сравнения файла со многими данными из разных классов или свойств)
  2. У меня есть ошибки во время компиляции (в отличие от использования отражения)

У этого подхода есть два больших недостатка, которые затрудняют его поддержку:

  1. Существует много дублирования кода. (Мне нужно написать тот же код для каждой версии API)
  2. Мне нужно написать полное пространство имен каждого класс, чтобы использовать его.

Есть ли лучший способ сделать это? Или есть какой-нибудь инструмент или фреймворк, который это делает?

Пример того, что я имею сегодня:

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());
}
...