【问题标题】:New to nUnit, getting error ... "is not accessible in this context because it is 'Public'"nUnit 新手,遇到错误……“在此上下文中无法访问,因为它是‘公共’”
【发布时间】:2016-05-22 15:18:59
【问题描述】:

我在 nUnit 中编写了以下代码作为我的第一个测试。

Public Class Tests

    <TestFixture()>
      Private Class TranslationTest

          <Test()>
          Private Sub LanguageTest()
            Dim stringToTest As String = "Tower Count"

            strLanguageText(stringToTest, LanguageIDs.English, 0)
            Assert.Equals("Tower Count")


          End Sub
      End Class
    End Class

Intellisense 表示 strLanguageText 方法和 LanguageIDs.Enlish 枚举“在此上下文中不可访问,因为它是‘公共的’”。我可以理解某些东西无法访问,因为它的修饰符是 Private,但是为什么使用 Public 修饰符会阻止它被测试访问?

【问题讨论】:

    标签: vb.net access-modifiers nunit-3.0


    【解决方案1】:

    尽管当我查看正在测试的方法时错误显示为“公共”,但它的修饰符是 Friend。当我将测试分配到与正在测试的方法相同的命名空间时,它起作用了。

    更新:根据 O'Reilly 的 C# & VB.NET Conversion Pocket Reference,“IL 级别的外部类只有两种可能的范围:私有或公共。”

    我的猜测是,这就是错误报告为“公共”的原因。

    【讨论】:

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