Простое тестирование с корректным разделением результатов тестов, когда в параметрах тестового метода находятся объекты
Я тестирую код с помощью XUnit. У меня возникла проблема с необходимостью создания объекта внутри параметров(в [InlineData]). Я пробовал использовать [MemberData], которая сама по себе является не самым элегантным способом, да и к тому же не работает так, как хотелось бы. Давая несколько наборов параметров я по итогам получаю лишь один результат теста, что, если в действительности тестов, скажем, 10, не очень-то удобно.
Вопрос: Можно ли как-то с параметрами-объектами и нормальным разделением результатов тестов тестировать код? А ещё лучше, если бы вы подсказали другой фреймворк для тестирования, где это выглядит элегантней и нет такой дискриминации объектов в параметрах.
Update Объяснение с кодом: https://pastebin.com/fZN0Fa6z
Ответы (1 шт):
Мне помог другой ответ на англоязычном StackOverflow от пользователя user1807319.
Решение ни то чтобы красивое и лаконичное, но с учётом безвыходности на что-то более понятное, оно весьма неплохо и, что самое главное, работает, и работает правильно.
Единственно, я немного модифицировал код автора во имя упрощения и безопасности.
Например в [MemberData("TestData", MemberType = typeof(TestDataProvider))], я заменил "TestData" на nameof(TestData), чтобы не менять строку, если я изменю имя класса.
Также я убрал любое упоминание testCase, т.к., признаться честно, не понял его предназначения от слова совсем.
