0

我有一个 nUnit 测试,我将项目从 VS 2012 升级到 2015。现在在调试单元测试时,调试器会进入错误的功能。测试仍然通过,但调试不起作用。

当我到达 getAString = newClass.ReturnString() 时,调试器会同时介入 .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
4

1 回答 1

0

我的症状有几个根本原因,还有一些修复。

在解决方案资源管理器中右键单击解决方案 > 属性 > 确保 eeeeeverything 设置为调试/任何 CPU。选择配置属性,顶行将变为活动状态。选择调试,任何 CPU,然后打开配置管理器并仔细检查!并在项目上下文中设置调试/任何 CPU。这里的大部分内容:Visual Studio 2015 RTM - 调试不起作用 确保在 .sln 和 vbproj 文件上选择 File > Save As...。

我很确定这是任何 CPU 的构建。

还有其他事情需要检查:

于 2017-01-30T19:48:05.250 回答