|
|
1
40
我刚刚经历过类似的问题:一些测试失败,并且在不同的测试运行中它们是不同的。我不知道发生这种情况的确切原因,但当我向某个类添加终结器时,它就开始出现了。当我禁用终结器时-问题消失。当我打开定稿器时,问题又回来了。 现在我不知道如何克服这个问题。 |
|
2
84
此消息是由 与执行测试线程不同的线程上的异常 . 到目前为止,所有的答案都归结为这个简单的解释。在Visual Studio中,在这种情况下不显示任何明智的信息是一个已知的错误。 如果执行测试线程以外的线程抛出异常,则Visual Studio的测试运行程序将完全阻塞:它被吞没,没有输出,没有截获和调试的机会,也没有任何东西,除了一个本应作为单元测试的烧掉的阴燃混乱之外。 |
|
|
3
16
我遇到了这个问题,结果在我的代码中是一个问题,测试框架没有正确地捕捉到这个问题。一个小小的意外重构给我留下了这段代码:
这当然是一个无限递归,并导致stackOverflowException(我猜)。这导致了恐惧:“代理进程在测试运行时被停止。” 一个快速的代码检查显示了这个问题,我的测试现在运行良好。希望这有帮助-可能值得检查代码寻找问题,或者可能提取一点到控制台应用程序,并检查它是否在那里正常工作。 |
|
|
4
8
我通过查看测试结果文件(/testsults/*.trx)找到了问题的根源,它提供了后台线程中发生的异常的完整详细信息,解决了该异常后,“代理处理停止…”错误消失。 在我的例子中,我无意中在单元测试中启动了GUI,这最终导致抛出System.ComponentModel.InvalidAsynchronousStateException。 所以我的.trx文件包含:
这并没有提供关于什么测试导致了错误的任何信息,但它确实显示了异常在哪里,这非常有用。 |
|
5
5
此消息通常在测试进程崩溃时生成,并且在后台线程上存在未处理的异常、发生堆栈溢出或显式调用时可能发生。
没有人提到的是事件日志中可能有其他信息。通常,您不会获得关于测试在结果中崩溃的原因的太多信息,但是在后台线程上发生未处理的异常时,测试框架会使用源vsttexecution将详细信息写入应用程序事件日志。如果没有写入事件日志的信息,那么很可能是上面列出的其他原因之一。 |
|
|
6
3
我遇到了同样的问题,在移除时解决了它
所以我非常肯定,这个错误发生在测试或测试方法导致执行过程终止的时候。 |
|
|
7
2
感谢您发布问题。我刚碰到这个问题,想了一个你可能会碰到的原因。
在我的测试设置过程中,我创建了一个在线程池中对工作线程进行排队的对象。如果调试速度足够快,代码就会通过。 如果工作线程在测试设置完成之前启动并出现错误,那么我将得到一个没有任何推理而被中止的结果。 如果工作线程启动并且在测试开始后出现错误,那么我得到的结果是:错误-代理进程在测试运行时停止。 重要的是要注意:这是我在几个测试中使用的一个组件。如果测试框架遇到过多的这些错误,它将中止其余的测试。 希望这有帮助 |
|
|
8
2
在我的案例中,解决方案是通过检查 输出窗口 .
在我的例子中,我有一个filesystemwatcher在一个单独的线程上抛出了一个错误。 |
|
|
9
2
我在描述器~classname()中添加了try/catch块,该描述器是在我的测试中涉及的任何类中定义的。这帮我解决了问题。
|
|
|
10
2
要查明异常是在哪里抛出的,请单击“测试结果”窗口中感叹号图标旁边的超链接“测试运行错误”。将打开具有堆栈跟踪的窗口。 这有助于跟踪错误! |
|
|
11
1
我遇到了同样的问题,它是由非托管资源的终结器(由于某种原因未正确处理的文件编写器)引起的。 在将终结器代码包装在吞咽异常的try-catch中之后,问题就消失了。我不建议吞咽这样的异常,因此很明显,首先找出异常发生的原因是明智的。 |
|
|
12
1
我曾在一些奇怪的场合发生过这样的事情,而罪魁祸首几乎总是一针见血。 奇怪的是,所有测试在开发机器上都可以正常工作,然后在构建服务器上随机失败。 经过更仔细的检查,结果发现尽管测试被列为在dev框中通过,但仍有异常被抛出。异常被抛出到一个单独的线程上,而该线程没有被当作错误接收。 正在根据测试跟踪记录异常详细信息,因此我们能够确定需要修改哪些代码/测试。 希望这能帮助别人。 |
|
|
13
0
在我的例子中,我对一个WCF服务进行了一些单元测试。此WCF服务正在启动2个计时器。
顺便说一句:我用 WCFMock 为了伪造WCF服务,所以在我的WCF服务周围有“真正的”单元测试 |
|
|
14
0
这个错误也是由我的终结器引起的。
|
|
|
15
0
我遇到了一个类似的问题,一个测试在测试中失败,并且正在从我的另一个项目的DDL运行代码。我得到了如上所述的错误消息,如果我尝试调试测试,测试将在没有任何异常详细信息的情况下中止。 我怀疑问题可能是我的其他项目的DLL来自Visual Studio 2012项目,我正在VS2010项目中运行测试,和/或可能是两个项目的UnitTestFramWork DLL版本不匹配。 |
|
|
16
0
这个问题也可以由testclass的构造函数中的异常或stackoverflow触发。 |
|
17
0
由于这个错误可能有许多不同的原因,为了这个线程的完整性,我想添加另一个原因。 如果 全部的 您的测试正在中止,正如OP所描述的,原因可能是项目配置错误。在我的例子中,目标框架被设置为.NET Framework 3.5。通过“项目属性”页(选项卡)将其设置为更高版本 应用 )解决了问题。 |