2016-02-11 9 views
1

В качестве первого теста в nUnit я написал следующий код.Новое в 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 перечисление «не доступны в этом контексте, потому что это" Public». Я могу понять, что что-то не доступно, потому что его модификатор является приватным, но почему у него есть модификатор Public, чтобы он не был доступен при тестировании?

ответ

2

Несмотря на то, что ошибка говорила «Общественность», когда я смотрел на тестируемый метод, его модификатором был «Друг». Когда я назначил свой тест на те же пространства имен, что и тестируемые методы, он работал.

Update: Согласно О'Рейлям C# & VB.NET Conversion Pocket Reference, «Внешние классы на уровне IL есть только два возможных области: частные или государственные.»

Я думаю, что именно поэтому ошибка сообщала как «Публичная».