Сделать код внутренним, но доступным для модульного тестирования из других проектов

Если вы можете запустить команду linux, попробуйте split.

В противном случае, я думаю, вам нужно будет прочитать его и записать в 2 других файла.

119
задан leora 20 September 2008 в 03:10
поделиться

3 ответа

При использовании.NET , атрибут сборки InternalsVisibleTo позволяет Вам создавать "друга" блоки. Это определенные сборки со строгим именем, которым позволяют получить доступ к внутренним классам и участникам другого блока.

Примечание, это должно использоваться с усмотрением, поскольку оно сильно связывает включенные блоки. Общее использование для InternalsVisibleTo для проектов поблочного тестирования. Это - вероятно, не хороший выбор для использования в Ваших блоках реального приложения по вышеизложенной причине.

Пример:

[assembly: InternalsVisibleTo("NameAssemblyYouWantToPermitAccess")]
namespace NameOfYourNameSpace
{
191
ответ дан Demodave 20 September 2008 в 14:10
поделиться

Классы могут быть и общественностью И изолированный.

, Но, не делайте этого.

можно создать инструмент, чтобы отразиться по внутренним классам и испустить новый класс, который получает доступ ко всему через отражение. MSTest делает это.

Редактирование: Я имею в виду, если Вы не хотите включать - какой-либо материал тестирования в свой исходный блок; это также работает, если участники являются частными.

-5
ответ дан TraumaPony 20 September 2008 в 14:10
поделиться

Если это - внутренний класс затем, это не должно привыкать в изоляции. Поэтому Вы не должны действительно тестировать его кроме тестирования некоторого другого класса, который использует тот объект внутренне.

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

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

, Если Вы находите, что действительно необходимо протестировать тот класс, затем Вы могли бы хотеть вновь исследовать, почему тот класс является внутренним во-первых.

6
ответ дан Josh 20 September 2008 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: