Size: a a a

var chat = new Chat();

2020 January 29

G

Gopneg in var chat = new Chat();
Dmitry
ну тут ты точно пнрегибаешь. он может три года собирал, а тут решил оформить
за три года там значит половина материала тупо устарело
источник

D

Dmitry in var chat = new Chat();
Gopneg
ну вот ты добрее смотри, а я злее
для баланса
а то вселенная схлопнется
😂😂😂 я не успеваю в твоих объемах добро генерить для паритета
источник

НМ

Николай Мехматовец in var chat = new Chat();
Gopneg
6 дней какую-то хероту собирал
даже 1% поди не прочитал и не прослушал
Ну прям утёр мне нос)
источник

vl

vova lantsov in var chat = new Chat();
Кто шарит в Moq? Сижу щас видосы палю на ютубе и не понимаю, зачем использовать мок а не вручную объекты создавать, что он такого делает под капотом?
источник

НМ

Николай Мехматовец in var chat = new Chat();
Gopneg
за три года там значит половина материала тупо устарело
Устаревший материал я намеренно не включал, когда оформлял репу. Если что-то из старого и попало, то оно помечено "Не выпускается" (у подкастов, например). Ито у таких подкстов такая информация, которая не устаревает.
источник

vl

vova lantsov in var chat = new Chat();
vova lantsov
Кто шарит в Moq? Сижу щас видосы палю на ютубе и не понимаю, зачем использовать мок а не вручную объекты создавать, что он такого делает под капотом?
Или например эта строчка

_nativeDocument = new Mock<INativeDocument>();

Как оно вообще создаёт этот интерфейс? В рантайме типы создаёт? Как методы реализует для них, если да?
источник

B

Bogdan in var chat = new Chat();
vova lantsov
Или например эта строчка

_nativeDocument = new Mock<INativeDocument>();

Как оно вообще создаёт этот интерфейс? В рантайме типы создаёт? Как методы реализует для них, если да?
Через System.Reflection.Emit
источник

B

Bogdan in var chat = new Chat();
На настоящем фреймворке было проще, не надо кодоген, достаточно создать MarshalByRefObject
источник

vl

vova lantsov in var chat = new Chat();
Bogdan
Через System.Reflection.Emit
А в чём его суть? Вот я например имею класс Controller, в нём данные из бд берутся.

Могу сделать так
var controller = new Controller();

А могу сделать так
var mock = new Mock<Controller>();
var controller = mock.Object;
источник

B

Bogdan in var chat = new Chat();
vova lantsov
Кто шарит в Moq? Сижу щас видосы палю на ютубе и не понимаю, зачем использовать мок а не вручную объекты создавать, что он такого делает под капотом?
Чтобы не писать руками сотни строчек кода а в одну строчку делать.

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

Еще глянь что такое Spy
источник

B

Bogdan in var chat = new Chat();
vova lantsov
А в чём его суть? Вот я например имею класс Controller, в нём данные из бд берутся.

Могу сделать так
var controller = new Controller();

А могу сделать так
var mock = new Mock<Controller>();
var controller = mock.Object;
Не
источник

B

Bogdan in var chat = new Chat();
var mr =Mock<IRepository>();

new Controller(repository)
источник

B

Bogdan in var chat = new Chat();
И можешь фейк данные скармливать и кайф
источник

vl

vova lantsov in var chat = new Chat();
То есть мок создаст объект по интерфейсу, реализует все методы и свойства, заполнит их рекурсивно какими-то рандомными данными по иерархии и я смогу это юзать в тестах?
источник

vl

vova lantsov in var chat = new Chat();
Иерархия имею в виду
repository.Property.InnerProperty
источник

D

Dmitry in var chat = new Chat();
vova lantsov
То есть мок создаст объект по интерфейсу, реализует все методы и свойства, заполнит их рекурсивно какими-то рандомными данными по иерархии и я смогу это юзать в тестах?
не, ты мокаешь и метод с параметрами и какой ответ вернуть
источник

D

Dmitry in var chat = new Chat();
я год назад чуть влезал, то у нас так было
источник

D

Dmitry in var chat = new Chat();
мокаешь сервис, мокаешь метод сервиса с параметрами
источник

D

Dmitry in var chat = new Chat();
и запускаешь тест. мок для твоего сервиса/контроллера подкладывает данные и ты тестирует поведение твоего кода. так ли он отрабатывает
источник

vl

vova lantsov in var chat = new Chat();
Я вроде понял но как-то трудно
источник