【问题标题】:NullReferenceException vb.net Unit testing errorNullReferenceException vb.net 单元测试错误
【发布时间】:2011-09-18 01:02:02
【问题描述】:

在单元测试方面做一些功课,老实说,我只是不明白为什么会出现这个错误。

我有一个简单的方法,可以在选项卡时选择所有文本并测试是否选择了实际的 textbox1。我只是不明白为什么我在 target.txtbox1_Enter(sender, e) 处收到 nullReferenceException

我真的很生气,因为这看起来很容易。

任何帮助我都将不胜感激。

Private Sub txtbox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtbox1.enter
    Dim txtBox As TextBox
    txtBox = CType(sender, TextBox)
    txtBox.SelectAll()
End Sub

    <TestMethod(), DeploymentItem("frmtesting.exe")>
Public Sub txtCustomer_EnterTest()
    Dim target As frmtesting_Accessor = New frmtesting_Accessor ' TODO: Initialize to an appropriate value
    Dim sender As Object = Nothing ' TODO: Initialize to an appropriate value
    Dim e As EventArgs = Nothing ' TODO: Initialize to an appropriate value

    Dim expected As String
    Dim actual As String
    target.txtbox1.Text = "bob"
    target.txtbox1.SelectAll()
    expected = "bob"

    target.txtbox1_Enter(sender, e)

    actual = target.txtbox1.SelectedText
    Assert.AreEqual(expected, actual, "not equal")
End Sub

【问题讨论】:

标签: .net vb.net unit-testing target nullreferenceexception


【解决方案1】:

这才是正确的做法。

'''<summary>
    '''A test for TextBox1_Enter
    '''</summary>
    <TestMethod(), _
     DeploymentItem("frmtesting.exe")> _
    Public Sub TextBox1_EnterTest()
        Dim target As frmtesting.exe_Accessor = New frmtesting.exe_Accessor()
        Dim sender As Object = target.TextBox1
        Dim e As EventArgs = Nothing

        target.txtBox1.Text = "bob"

        target.txtBox1_Enter(sender, e)

        Assert.AreEqual("bob", target.txtBox1.SelectedText, "not equal")

    End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多