代码之家  ›  专栏  ›  技术社区  ›  Dror Helper

MSTest异常:单元测试适配器引发异常:未解析成员的类型

  •  8
  • Dror Helper  · 技术社区  · 14 年前

    在我的项目中,我使用微软的单元测试框架编写测试。当我从Visual Studio运行测试时,所有测试都通过,但当我从MSBuild运行测试时,所有测试都失败,并显示以下erorr消息:

    基类型 , 版本= 程序集版本 , 文化=中立,PublicKeyToken=。。

    找不到程序集是所有项目引用的第三方程序集。

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

    this post

    救命啊!

    6 回复  |  直到 14 年前
        1
  •  3
  •   Grzenio    14 年前

    首先要检查此程序集是否复制到msbuild运行测试的文件夹中。可能是由于某些历史原因,bin/Debug文件夹中有一个副本,但项目中的依赖项设置不正确。

        2
  •  10
  •   telewin    13 年前

    我在单元测试中遇到了同样的问题。上面的链接文章指出,问题是VSTS导致复制线程的CallContext中的一些对象。

    值得一提的是,在我的例子中,问题是我在线程的CallContext中手动放置了一个对象,这导致了这个异常。我可以通过清除TestCleanup例程中的CallContext来解决这个问题。我不需要在任何地方更改任何文件。

        3
  •  4
  •   Mark Lakata    9 年前

    我也遇到了同样的问题,但是在那里我在基本测试类的构造函数中执行了StructureMap初始化。

    通过将调用从构造函数移到 [TestInitialize] [TestCleanUp] 方法已释放所创建的StructureMap容器。在此之后,MSBuild(2010)将在不引发此错误的情况下运行测试。

        4
  •  1
  •   Valentin Kuzub    10 年前

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

    结果发现这个问题出现了异常 静态构造函数 它与消息的外观完全无关,并且是在使用BuildSchema创建DB期间发生的。

    MSTest提供的非常没有信息性的错误消息,花费了我很多时间和压力。把迁移到像NUnit这样更好的地方放在我们的TODO列表中。

        5
  •  0
  •   Tatiana Racheva    9 年前

    This article 通过以下错误解决了我的问题:

        6
  •  0
  •   David Burg    5 年前

    当被测试的程序集已加载其标记为[Serializable]的类的实例时发生。解决方法是从MarshalByRefObject派生,因此不再尝试从mstest主机进行反序列化。