Обновить

​​Как тестировать internal методы и классы в C# — InternalsVisibleToAttribute

[assembly: InternalsVisibleToAttribute("YourProject.UnitTests")]
[assembly: InternalsVisibleToAttribute("YourProject.UnitTests")]

Представьте, что вы разрабатываете библиотеку, которой будут пользоваться тысячи людей ?. Чтобы убедиться в стабильности — нужно всё хорошенько покрыть тестами. Все мы любим инкапсуляцию, верно (я надеюсь)? Поэтому мы не разрешаем использовать всё подряд из нашей сборки, а с умом используем модификаторы доступа и позволяем использовать только public классы и методы. 

В C#, есть 7 модификаторов доступа, основные: 

- private —  доступ только внутри текущего класса

- protected —  доступ внутри текущего и дочерних классов

- public — классы и методы доступны где угодно, также из сборок, использующих текущую

- internal — публичный API, внутри текущей сборки. Как public, но нет доступа из сборок использующих текущую

- остальные можно посмотреть тут

Но, C# — не JavaScript, и для тестов создаётся отдельная сборка, а internal методы в ней не доступны.

Чтобы тестировать internal функциональность, нужно использовать атрибут InternalsVisibleToAttribute, и в качестве параметра указать имя тестовой сборки. Тогда все internal методы и классы будут доступны для тестирования.

[assembly: InternalsVisibleToAttribute("YourProject.UnitTests")]

https://t.me/cherkashindev/127

Теги:
Всего голосов 3: ↑0 и ↓3-3
Комментарии0

Как запустить Qwen3.8-Flash-Next 125B на 6 ГБ VRAM

Qwen3.8-Flash-Next - открытая 125B-модель на архитектуре, которая станет основой Qwen4. По опубликованным Qwen результатам она конкурирует с закрытыми frontier-моделями в задачах программирования, работы с агентами и computer use.

Мы запустили полный checkpoint Qwen/Qwen3.8-Flash-Next на одной RTX 4090. Пиковое потребление VRAM составило 5,95 ГБ, без 4-битной квантизации и дистилляции. Использовался полный checkpoint в bf16, который генерировал обычные токены.

По сравнению с Opus 4.6 Max, согласно собственным данным Qwen:

Как запустить Qwen3.8-Flash-Next 125B на 6 ГБ VRAM

Публикации