Исправление ошибки: не удалось создать частный метод доступа для Microsoft.VisualStudio.TestTools.TypesAndSymbols.Assembly. - PullRequest
7 голосов
/ 06 октября 2009

Я создаю модульные тесты для приложения Windows Forms. Один из моих методов - обработчик событий для формы (я не знаю, является ли это источником моей проблемы):

private void ImportButton_Click(object sender, System.EventArgs e)
{
    // blah blah
}

Теперь, когда я пытаюсь создать модульный тест для этого метода, щелкнув правой кнопкой мыши по источнику -> «Создать модульные тесты», все работает нормально, пока я не открою сгенерированный код модульного теста:

/// <summary>
///A test for ImportButton_Click
///</summary>
[TestMethod()]
[DeploymentItem("FooBar.exe")]
public void ImportButton_ClickTest()
{
    // Creation of the private accessor for 'Microsoft.VisualStudio.TestTools.TypesAndSymbols.Assembly' failed
    Assert.Inconclusive("Creation of the private accessor for \'Microsoft.VisualStudio.TestTools.TypesAndSy" +
            "mbols.Assembly\' failed");
}

Есть идеи как это исправить? Я нашел это сообщение на форуме MSDN , в котором подробно описана похожая проблема, которая, как мне кажется, не относится к моей проблеме.

Ответы [ 4 ]

3 голосов
/ 24 ноября 2010

Похоже, что это ошибка в VS2008, которую они никогда не удосужились устранить ...: (

https://connect.microsoft.com/VisualStudio/feedback/details/365058

1 голос
/ 06 марта 2015

Это не ошибка, вы должны построить свой проект, чтобы сгенерировать DLL, необходимую для средства доступа, а затем создать модульный тест для закрытой функции. Это будет работать.

1 голос
/ 07 марта 2014

Я удалил проект модульных тестов, так как было всего пара классов и добавил новый проект с новым набором файлов, и он заработал. Мне также удалось сгенерировать методы доступа для тестирования приватных методов.

1 голос
/ 25 августа 2011

Похоже, это более или менее исправлено в VS2010 SP1, но сегодня проблема снова возникла. Сборка, которую я создавал для теста, содержала ковариантные родовые интерфейсы. Строителю аксессуаров это не понравилось. Удаление директив «in» решило проблему, и я мог жить с моими интерфейсами, не являющимися ковариантными в настоящий момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...