nUnit 新手,遇到错误……“在此上下文中无法访问,因为它是‘公共’”
Posted
技术标签:
【中文标题】nUnit 新手,遇到错误……“在此上下文中无法访问,因为它是‘公共’”【英文标题】:New to nUnit, getting error ... "is not accessible in this context because it is 'Public'" 【发布时间】: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 修饰符会阻止它被测试访问?
【问题讨论】:
【参考方案1】:尽管当我查看正在测试的方法时错误显示为“公共”,但它的修饰符是 Friend。当我将测试分配到与正在测试的方法相同的命名空间时,它起作用了。
更新:根据 O'Reilly 的 C# & VB.NET Conversion Pocket Reference,“IL 级别的外部类只有两种可能的范围:私有或公共。”
我的猜测是,这就是错误报告为“公共”的原因。
【讨论】:
以上是关于nUnit 新手,遇到错误……“在此上下文中无法访问,因为它是‘公共’”的主要内容,如果未能解决你的问题,请参考以下文章