VB.NET - 数据驱动测试将无法构建

时间:2013-03-26 17:00:58

标签: .net vb.net mstest

我正在尝试在VB.NET中编写MSTest数据驱动测试。代码非常简单:

<TestMethod(), DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "AlgorithmTestData.CSV", "AlgorithmTestData#CSV", DataAccessMethod.Sequential)>
Public Sub ScoreAllData()
    Dim server = New Server.ScoringData

    Dim q1 = Convert.ToByte(TestContext.DataRow(1))
    Dim q2 = Convert.ToByte(TestContext.DataRow(2))
    Dim q3 = Convert.ToByte(TestContext.DataRow(3))
    Dim q4 = Convert.ToByte(TestContext.DataRow(4))
    Dim q5 = Convert.ToByte(TestContext.DataRow(5))
    Dim q6 = Convert.ToByte(TestContext.DataRow(6))
    Dim q7 = Convert.ToByte(TestContext.DataRow(7))
    Dim q8 = Convert.ToByte(TestContext.DataRow(8))
    Dim q9 = Convert.ToByte(TestContext.DataRow(9))
    Dim q10 = Convert.ToByte(TestContext.DataRow(10))
    Dim q11 = Convert.ToByte(TestContext.DataRow(11))
    Dim q12 = Convert.ToByte(TestContext.DataRow(12))

    Dim item = New AlgorithmItem(q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12)
    Dim result = server.Score(item)
    Assert.AreEqual(47.86814688, result)        
End Sub

但是,此代码不会构建。我得到以下错误(每个调用一个)与TestContext.DataRow调用

有关
Reference to a non-shared member requires an object reference

我见过的每个C#示例都使用相同的静态调用。我的项目似乎具有所有正确的导入,包括System.Data,但这不会构建。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

很抱歉这是在C#中,但同样适用于你。 在我们的测试类中,我们有以下属性。似乎为我们工作(虽然我不知道是否需要它或者是否有人决定添加它以获得乐趣)

/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext { get; set; }