Эквивалент Java метааннотаций в C# - PullRequest
0 голосов
/ 02 марта 2020

Я хотел бы упростить некоторые атрибуты Xunit , чтобы уменьшить объем кода и реализовать все тесты как стереотипы. Например, я использую его TraitAttribute в своем коде интеграционного теста, чтобы дифференцировать тестируемую конечную точку между многочисленными заглушками в одном классе тестирования.

[Fact]
[Trait("Action", "Create")]
public async Task CreateCategory_ReturnsNewCategoryIfParamsValid()
{
  // test case implementation       
}

В большинство случаев , Spring Framework в Java позволяет мне переписывать аннотации как метааннотации .

Возможно ли сделать то же самое в C# для атрибутов?

В конце я хотел бы написать мои тестовые заглушки следующим образом.

[Fact]
[ActionTrait(Actions.Create)]
public async Task CreateCategory_ReturnsNewCategoryIfParamsValid()
{
  // test case implementation       
}

1 Ответ

0 голосов
/ 02 марта 2020

Можно ли сделать то же самое в C# для атрибутов?

Да, поскольку атрибут C# - это просто класс, производный от Attribute, и классы могут иметь атрибуты, это означает, что сам атрибут может иметь атрибуты.

Это полностью зависит от кода, который считывает и обрабатывает атрибуты для поиска атрибутов на атрибутах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...