.NET проблема удаления TestContext из модульных тестов - PullRequest
0 голосов
/ 03 октября 2019

У меня есть проект модульного тестирования ac # (.NET 4.8). Мой модульный тест использует файл .testsetting, который я хочу удалить. В моем модульном тесте я тоже использую TestContext:

        private TestContext testContextInstance;
        public TestContext TestContext
        {
            get { return testContextInstance; }
            set { testContextInstance = value; }
        }

        [ClassInitialize()]
        public static void MyClassInitialize(TestContext testContext)
        {
            LoadSettings(testContext.DeploymentDirectory);
        }

Сначала я удалил файл .testsettings, затем изменил модульный тест, удалив TestContext:

        [ClassInitialize]
        public static void MyClassInitialize()
        {
            LoadSettings(Directory.GetCurrentDirectory());
        }

Моя проблема в том, что язапустить модульный тест Я получил эту ошибку:

MyClassInitialize имеет неправильную подпись. Метод должен быть статическим, общедоступным, не возвращает значение и должен принимать один параметр типа TestContext.

Глядя на эту проблему , я изменил версию «Microsoft.VisualStudio.QualityTools.UnittestFramework "с 10.0.0.0 до 10.1.0.0 безуспешно.

Перед запуском тестов я снял флажок .testsettings из меню" Тест ", а затем удалил его.

В настоящее время используется Visual Studio 2019 версии 16.3.2.

Я все еще получил ту же ошибку. Нужно ли ссылаться на другую DLL или другую версию? Нужно ли что-то устанавливать?

ОБНОВЛЕНИЕ:

Вот как я добавил ссылку: enter image description here

Здесьстрока, добавленная Visual Studio в файл .csproj:

Ссылка включает в себя = "Microsoft.VisualStudio.QualityTools.UnitTestFramework, версия = 10.1.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a, processorArchitecture = MSIL"

И вот как выглядят ссылочные свойства в Visual Studio: enter image description here

Я все еще получил ошибку, но странная вещь, если яперезапустите Visual Studio в свойстве ссылки. Я продолжаю видеть старую версию (10.0.0.0) !!!

enter image description here

Я пытался также с Visual Studio 2017версия 15.9.16. Тот же результат!

1 Ответ

1 голос
/ 03 октября 2019

Как говорится в сообщении об ошибке, метод, украшенный ClassInitializeAttribute, должен принимать параметр TestContext.

Вы можете просто проигнорировать его, если не хотите использовать файл .testsettings, но не можете удалить параметр.

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