Получите ITestOutputHelper в xunit, не внедряя его.C#

Место общения программистов C#
Ответить
Anonymous
 Получите ITestOutputHelper в xunit, не внедряя его.

Сообщение Anonymous »

Я использую x-unit. Мы используем тестовый вывод. У нас есть вещи базового класса. В настоящее время мы внедряем ITestOutputHelper следующим образом:

Код: Выделить всё

public class AnyTestClass : TestBase
{
[Fact]
public void SomeTest()
{
}

public AnyTestClass( ITestOutputHelper output ) : base(output)
{
}
}
а я хочу, чтобы код выглядел так:

Код: Выделить всё

public class AnyTestClass : TestBase
{
[Fact]
public void SomeTest()
{
}
}
Мне очень не нравится вставлять этот делегирующий конструктор. Он всегда один и тот же, он работает, он загромождает код, ничего не добавляет для читателя, это дублированный код... и это кажется очень «неправильным».
Есть ли какой-нибудь способ обойти это? Я думал, что x-unit должен существовать в стеке, и одна из этих вещей в стеке должна иметь ссылку на ITestOutputHelper, которую я должен иметь возможность получить с помощью отражения.... Любой сделали это и можете сэкономить время на поиски?
По сути, я готов проделать невероятный объем дополнительной работы или дополнительных вычислений, чтобы сделать нашу кодовую базу немного чище - и это наглядный пример кода, который не представляет никакой ценности для читателя.

Подробнее здесь: https://stackoverflow.com/questions/736 ... jecting-it
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»