Как запускать фильтры в тестах dotnet - PullRequest
0 голосов
/ 29 августа 2018

У меня есть сборка в VSTS, следующим образом:

enter image description here

Вы можете видеть на скриншоте шаг теста "Тестировать и генерировать покрытие кода". Он использует эту команду:

/ p: CollectCoverage = true / p: CoverletOutputFormat = cobertura /p:CoverletOutput=$(Build.SourcesDirectory)\TestResults\Coverage\coverage

Что позволяет создавать отчет о покрытии кода. Я добавил «Категории» в мои тесты xUnit с моей определенной чертой (такой как интеграция или модуль), чтобы позволить мне фильтровать тесты во время сборки / выпуска. Примером будет:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Xunit.Abstractions;
    using Xunit.Sdk;

    /// <summary>
    /// Decorates a test as a Unit Test, so that it runs in Continuous Integration builds.
    /// </summary>
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
    public sealed class IsUnitAttribute : AICategoryAttribute
    {
        /// <summary>
        /// Initializes a new instance of <see cref="IsUnitAttribute"/>
        /// </summary>
        public IsUnitAttribute() : base("Unit") { }
    }

    /// <summary>
    /// Decorates a test as an Integration Test, so that it runs in Continuous Integration builds.
    /// </summary>
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
    public sealed class IsIntegrationAttribute : AICategoryAttribute
    {
        /// <summary>
        /// Initializes a new instance of <see cref="IsIntegrationAttribute"/>
        /// </summary>
        public IsIntegrationAttribute() : base("Integration") { }
    }

Я знаю только, как применить фильтр на этапе VS-Test, следующим образом:

Но не при тестировании с использованием dotnet:

enter image description here

Я знаю только, как построить покрытие кода, используя dotnet (а не VS-Test)… Я хочу сделать оба! Как мне:

a) Добавьте команды в VS-Test для генерации покрытия кода, так же, как я делаю для dotnet, используя команду выше.

OR

б) Примените фильтр к шагу Тест дотнет?

Любые указатели очень ценятся!

1 Ответ

0 голосов
/ 30 августа 2018

Нет файла Test Filter criteria, зарегистрированного для шага теста dotnet. Однако вы можете попробовать запустить тест dotnet с аргументами --filter в командной строке.

См. Сведения о параметрах фильтра

Отфильтровывает тесты в текущем проекте, используя данное выражение. Для получения дополнительной информации см. Раздел «Параметры фильтра». Для большего информация и примеры того, как использовать выборочную фильтрацию тестов, см. Выполнение выборочных юнит-тестов .

...