gpt4 book ai didi

visual-studio - 运行所有测试时出现MS Test错误

转载 作者:行者123 更新时间:2023-12-02 04:17:39 24 4
gpt4 key购买 nike

我目前正在使用MS Test进行单元测试的项目中。当我执行“运行所有测试”时,对于大约1/3的测试,都会出现以下错误:

测试方法[Test Method]引发了System.IO.FileLoadException异常,但是预期出现了System.InvalidOperationException异常。异常消息:System.IO.FileLoadException:加载此程序集将产生与其他实例不同的授予集。 (来自HRESULT的异常:0x80131401)

如果我进行任何失败的测试,然后自行运行测试,则会出现相同的错误。如果我在测试中放置一个断点并调试该测试,则它将通过且没有错误。如果我再次运行单个测试,它将通过。如果我重新运行所有测试,则在1/3的测试中都会再次出现上述错误。

之前我有这个问题,但我没有做任何事情来解决它,只是魔术般地消失了。但是现在又回来了,非常令人沮丧。

是什么导致此错误?是否有针对此错误的修复程序?

最佳答案

听起来您有Interacting Tests-xUnit Test Patterns的气味。

简而言之,有些测试依赖于先前的测试来执行,因此当您单独运行它们时,它们会改变行为,因为它们对环境的隐含假设被证明是错误的。

这也可以解释为什么您以前遇到过问题,然后又消失了。尽管MSTest在订购测试方面似乎相当稳定,但它可能决定下次再次以不同的顺序运行它们。

我无法告诉您如何解决该问题,因为它是个别问题。但是,请查找Shared Fixtures。例子包括

  • 数据库
  • 文件
  • 静态(在Visual Basic中为共享)类型

  • 就您而言,FileLoadException建议您的测试期望某些文件存在。当您运行整个测试套件时,这些文件已由以前的测试用例所保留,而当单独执行测试时,这些文件将明显不存在。

    关于visual-studio - 运行所有测试时出现MS Test错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2072420/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com