我有一个nUnit测试,我将项目从VS 2012升级到2015。 现在,在调试单元测试时,调试器会单步执行错误的函数。 测试仍然通过,但调试不起作用。
当我得到getAString = newClass.ReturnString()时,调试器会同时执行。返回字符串和 .ReturnInt,然后当我到达Dim getAnInt = newClass.ReturnInt()时,它根本不会介入它。并且两者都不返回值。为什么当我调用第一个函数时它同时运行这两个函数? 下面的代码显然没有并行性。当我在 nUnit 中调试时,它会单步执行正确的函数,它们都返回一个值,当我在 Resharper 或 Nunit 测试适配器中调试时,调试器不起作用。
Imports NUnit.Framework
<TestFixture()>
Public Class Class1
<Test()>
Public Sub Test_Across_DateRanges()
Dim newClass As New MyNewClass
Dim getAnInt = newClass.ReturnInt()
Dim getAString = newClass.ReturnString()
Assert.That(getAnInt = 5)
Assert.That(getAString = "Why is this breakpoint being hit?")
End Sub
End Class
Public Class MyNewClass
Public Function ReturnInt() As Integer
Return 5
End Function
Public Function ReturnString() As String
Return "Why is this breakpoint being hit?"
End Function
End Class
我的症状有几个根本原因,还有一些修复方法。
右键单击"解决方案资源管理器">"属性"中的"解决方案">确保 eeeeEverything 设置为"调试/任何 CPU"。 选择"配置属性",顶行将变为活动状态。选择"调试"、"任何 CPU",然后打开配置管理器并在那里仔细检查!并在项目上下文中设置调试/任何CPU。这里的大部分内容:Visual Studio 2015 RTM - 调试不起作用确保归档>另存为...在.sln和 VBPROJ 文件中。
我很确定这是任何CPU的构建。
还有其他事项需要检查: