2017-02-21 34 views
0

У меня есть проект visual studio C#, в котором я делаю тесты с xunit.Xunit TestNames всегда включают пространства имен

Теперь тест исследователь показывает тесты по их пространствам имен, как это:

enter image description here

Я не хочу, чтобы избыточное захламления в именах тестов.

Я знаю, что могу аннотировать методы для установки testnames так:

public class WhenCreating : GivenConnection 
    { 
     [Fact(DisplayName = nameof(GivenConnection) + "." + nameof(WhenCreating) + "." + nameof(ItAppliesFromCity))] 
     public void ItAppliesFromCity() 

Но это все еще очень избыточными, поскольку я бы аннотировать каждый метод с тем же префиксом. Есть ли способ повлиять на генерацию тестового имени? Мне нравится ParentClass.SubClass.Method?

обновление: Чтобы написать его более выразительным: я все еще хочу иметь имя родительского класса (ов) в именах тестов. не только имя метода, которое можно сделать с помощью app.config

+1

Пожалуйста, обратитесь к http://stackoverflow.com/questions/32351210/how-can-xunit-be-configured-to-show-just-the-method-name-in-the-visual- студия-20 для достижения вашей цели. – Pasick

+0

Я не думаю, что этот дубликат, поскольку он не добавляет родительские классы к имени Test. в приведенном выше примере (GivenConnection) –

ответ

1

Установить xunit.methodDisplay в файле App.config.

<configuration> 
    <appSettings> 
    <add key="xunit.methodDisplay" value="method"/> 
    </appSettings> 
</configuration> 
+0

это не добавляет родительский класс к именам методов. –

+0

Чтобы отобразить родительское имя класса, установите для этого свойства значение "classAndMethod" – Pasick