Исключение MSTest: исключение выдает адаптер модульного тестирования: тип не разрешен для члена - PullRequest
8 голосов
/ 21 июня 2010

В моем проекте я пишу тесты, используя среду модульного тестирования Microsoft.Все мои тесты проходят, когда я запускаю их из Visual Studio, но когда я запускаю тесты из MSBuild, все тесты не выполняются со следующим сообщением erorr:

Исключение выдает адаптер модульного теста: Тип не разрешендля члена SomeType , SomeAssembly Версия = AssemblyVersion , Культура = нейтральная, PublicKeyToken = ..

Сборка не найденаСторонняя сборка, на которую ссылаются все проекты.

Скрипт сборки используется TFS, поэтому я добавил следующие строки:

<RunTest>true</RunTest>

<ItemGroup>
    <MetaDataFile Include="$(BuildProjectFolderPath)myproject.vsmdi">
        <TestList>CI_Tests</TestList>
    </MetaDataFile>
</ItemGroup>

Я нашел thisсообщение , в котором показано решение этой проблемы, но, к сожалению, я не могу изменить файлы на сервере TFS.

Справка!

Ответы [ 6 ]

9 голосов
/ 30 марта 2011

Я столкнулся с той же проблемой в моих модульных тестах. В приведенной выше статье указано, что проблема в том, что VSTS вызывает копирование некоторых объектов в CallContext потока.

В моем случае проблема состояла в том, что я вручную поместил объект в CallContext потока, что вызвало это исключение. Я смог решить эту проблему, очистив CallContext в моей процедуре TestCleanup. Мне не нужно было нигде менять файлы.

4 голосов
/ 27 июня 2011

Я также столкнулся с той же проблемой, но когда у меня была инициализация StructureMap, выполняемая в конструкторе для базового класса тестирования.

Мне удалось обойти проблему, переместив вызов из конструктора в метод [TestInitialize].Я также гарантировал, что метод [TestCleanUp] избавился от созданного контейнера StructureMap.После этого MSBuild (2010) будет проходить тесты без появления этой ошибки.

3 голосов
/ 21 июня 2010

Первое, что нужно проверить, будет ли эта сборка скопирована в папку, из которой msbuild запускает тесты.Возможно, у вас есть копия в папке bin / Debug по каким-то историческим причинам, но в проекте не настроена должным образом

1 голос
/ 11 декабря 2014

Была ли эта ошибка

Unit Test Adapter threw exception: 
Type is not resolved for member 'NHibernate.HibernateException,NHibernate

Как оказалось, проблема была в исключении статического конструктора для теста.Это было совершенно не связано с внешним видом сообщения и происходило во время создания БД с использованием BuildSchema.

Очень неинформативное сообщение об ошибке MSTest, которое стоило мне много часов и стресса.добавив миграцию в нечто лучшее, например, NUnit, в наш список TODO.

0 голосов
/ 23 февраля 2019

Происходит, когда тестируемые сборки загружают экземпляры своего класса, помеченные как [Сериализуемые].Обходной путь, производный от MarshalByRefObject, чтобы десериализация больше не предпринималась с хоста mstest.

0 голосов
/ 16 июля 2015

Эта статья решила мою проблему с этой ошибкой:

Напомним, что MyCustomException возникло на очень ранней стадии выполнения теста.Библиотека, в которой она находилась, еще не была загружена, поэтому адаптер модульного тестирования действительно не смог ее достать.

...