Тестирование, Nsubstitude и Моки.
NSubstitute — это библиотека для создания моков (mock), заглушек (stubs) и фейков (fakes) в тестах на языке C# в среде .NET. Основное её предназначение — упрощение процесса написания юнит-тестов для компонентов, которые взаимодействуют с другими объектами, ресурсами или внешними зависимостями.
Мок (mock) — это техника в программировании, при которой создаются искусственные объекты или функции, которые имитируют реальные. Так можно тестировать код без зависимости от внешних ресурсов или компонентов, что делает проведение тестов более надёжным и предсказуемым.
Так же есть несколько иных библиотек для мокинга:
• FakeItEasy
• Moq
Но Nsubstitute является чуть более популярным в .Net и вот также его документация
NSubstitute — это библиотека для создания моков (mock), заглушек (stubs) и фейков (fakes) в тестах на языке C# в среде .NET. Основное её предназначение — упрощение процесса написания юнит-тестов для компонентов, которые взаимодействуют с другими объектами, ресурсами или внешними зависимостями.
Мок (mock) — это техника в программировании, при которой создаются искусственные объекты или функции, которые имитируют реальные. Так можно тестировать код без зависимости от внешних ресурсов или компонентов, что делает проведение тестов более надёжным и предсказуемым.
Так же есть несколько иных библиотек для мокинга:
• FakeItEasy
• Moq
Но Nsubstitute является чуть более популярным в .Net и вот также его документация
Всем привет!
Прежде чем продолжить:Эту программу я разрабатывал для того, чтобы начать учиться писать более менее чистый код. Опытные разработчики, прошу вас посмотреть на исходный код программы и подметить мои ошибки(кому не лень)
Недавно написал небольшую консольную игру "Угадай слова". Пользователь перед каждым началом игры вводит слова и прога сама выбирает рандомное слово. Дальше пользователь угадывает слово и после каждой попытки прога выдаёт результат:
Right word is higher then слово - загаданное слово выше
Right word is lower then слово - загаданное слово ниже
Если пользователь угадывает - программа его поздравляет и предлагает завершить игру или продолжить
А вот ссылка на прогу: посмотреть
Прежде чем продолжить:
Недавно написал небольшую консольную игру "Угадай слова". Пользователь перед каждым началом игры вводит слова и прога сама выбирает рандомное слово. Дальше пользователь угадывает слово и после каждой попытки прога выдаёт результат:
Right word is higher then слово - загаданное слово выше
Right word is lower then слово - загаданное слово ниже
Если пользователь угадывает - программа его поздравляет и предлагает завершить игру или продолжить
А вот ссылка на прогу: посмотреть
GitHub
GitHub - GinessisC/GuessTheWordGame
Contribute to GinessisC/GuessTheWordGame development by creating an account on GitHub.
А я хотел уже покупать...
Rider теперь можно скачать бесплатно для некоммерческого использования. Её считают лучшей IDE для шарпистов и до этого надо было платить за годовую подписку.
Но чтобы использовать встроенный ии(Copilot) в Rider - всё равно надо платить подписку
Скачать можно тут
Rider теперь можно скачать бесплатно для некоммерческого использования. Её считают лучшей IDE для шарпистов и до этого надо было платить за годовую подписку.
Но чтобы использовать встроенный ии(Copilot) в Rider - всё равно надо платить подписку
Скачать можно тут
🔥1
Наткнулся на видео в коротом автор делится хорошими советами. Я сам несколькими советами воспользуюсь.
Тем кому лень смотреть, вот несколько советов из ролика(их больше):
1. Запишите несколько вопросов, которые вас интересуют, а через 2-3 месяца откройте этот список и проверьте, сможете ли вы на них ответить
2. Конспектируйте материал и не забывайте о теории - она тоже не менее важна практики
3. Занимайтесь чем-то другим помимо программирования - это не даст вам выгореть + ещё и полезно
> Смотреть ролик
Тем кому лень смотреть, вот несколько советов из ролика(их больше):
1. Запишите несколько вопросов, которые вас интересуют, а через 2-3 месяца откройте этот список и проверьте, сможете ли вы на них ответить
2. Конспектируйте материал и не забывайте о теории - она тоже не менее важна практики
3. Занимайтесь чем-то другим помимо программирования - это не даст вам выгореть + ещё и полезно
> Смотреть ролик
❤1👎1
👎1
IT Leaper
Хотите ли вы тут увидеть шпаргалку по kali linux?(делаю её я)
О да, как же я мог забыть про ошибки. Также добавлю решения на некоторые ошибки или баги, с которыми я столкнулся. Недавно нашел решение ошибки "синего экрана в линуксе", уже думал сносить и переустанавливать дистрибутив 😅
❤1👎1
Что ж, помните я говорил что я хотел создать репозиторий, где будут хранится решение базовых алгоритмов? Так вот, пришло время создать этот репозиторий
❤1👎1
IT Leaper
Что ж, помните я говорил что я хотел создать репозиторий, где будут хранится решение базовых алгоритмов? Так вот, пришло время создать этот репозиторий
Хотя действительно - это нудная вещь создавать простой и сырой алгоритм - уже лучше построить его на практике где он действительно будет полезен. Эти алгоритмы, думаю, будут играть большую роль, особенно алгоритмы поиска в бд, например. Их использование должно проявлятся со временем, где это действительно уместно, их не нужно использовать везде где вздумается
❤2👎1
IT Leaper
Итак, заканчиваю с ещё одной таской(CsvExplorer) и чуть позже выложу в гит хаб
Кстати, размышляю над ещё одним проектом с использованием GUI. И да, это наконец-то будет не winforms)
Искал ТГК про кодинг?
Хотел узнать много нового?
Тебе в Type Craft Channel
Не теряй времени!
Подписаться на канал
Хотел узнать много нового?
Тебе в Type Craft Channel
Софты, мемы, видео уроки, скрипты, розыгрыши, обучение
Все в этом тгк!
Не теряй времени!
Подписаться на канал
Chain of responsibility или цепочка ответственности. Что это вообще такое?
Цепочка Обязанностей (Chain of responsibility) - поведенческий шаблон проектирования, который позволяет избежать жесткой привязки отправителя запроса к получателю. Все возможные обработчики запроса образуют цепочку, а сам запрос перемещается по этой цепочке. Каждый объект в этой цепочке при получении запроса выбирает, либо закончить обработку запроса, либо передать запрос на обработку следующему по цепочке объекту
Более подробно можно почитать о этом паттерне здесь
p.s: пример на c#
Цепочка Обязанностей (Chain of responsibility) - поведенческий шаблон проектирования, который позволяет избежать жесткой привязки отправителя запроса к получателю. Все возможные обработчики запроса образуют цепочку, а сам запрос перемещается по этой цепочке. Каждый объект в этой цепочке при получении запроса выбирает, либо закончить обработку запроса, либо передать запрос на обработку следующему по цепочке объекту
Более подробно можно почитать о этом паттерне здесь
p.s: пример на c#
Medium
Chain of Responsibility Design Pattern with C# Examples
leveraging proven design patterns can significantly enhance the efficiency and maintainability of our code. One such pattern is the Chain…
👍2
Всем привет, простите что долго не писал посты - был занят одной таской. Оказывается у меня хромают знания по асинхронному программированию да и ещё сложности с построением архитектуры(целых три раза перестраивал проект). К тому же ещё одна раковая ошибка заключалась в не оптимизированном подходе, в котором программа, которую я написал, читала одни и те же строки по несколько раз.
В конечном итоге у меня болят спина, глаза и голова да и ещё целый букет долгов по учебе, но зато почти доделанная таска без тестов
В конечном итоге у меня болят спина, глаза и голова да и ещё целый букет долгов по учебе, но зато почти доделанная таска без тестов
IT Leaper
Всем привет, простите что долго не писал посты - был занят одной таской. Оказывается у меня хромают знания по асинхронному программированию да и ещё сложности с построением архитектуры(целых три раза перестраивал проект). К тому же ещё одна раковая ошибка…
P.s: код на фоне - это моя таска и я действительно почти её доделал. Вот код -> https://github.com/GinessisC/CSVExplorer/tree/dev
Да-да, знаю что код - олицетворение дерьма с букетом кастылей на каждой 10 строчке, но я пытаюсь это исправить + к тому же я не могу тратить большое количество времени на написание кода, к сожалению.
Буду очень рад, если вы его прокомментируете
Да-да, знаю что код - олицетворение дерьма с букетом кастылей на каждой 10 строчке, но я пытаюсь это исправить + к тому же я не могу тратить большое количество времени на написание кода, к сожалению.
Буду очень рад, если вы его прокомментируете
GitHub
GitHub - GinessisC/CSVExplorer at dev
csv explorer created. Contribute to GinessisC/CSVExplorer development by creating an account on GitHub.
🔥1
Ля, нашёл очень интересную книгу на гите.
Advanced Programming на c# - эта книга полезна разработчикам, которые хотят углубить свои знания о C# и научиться разрабатывать сложные, безопасные и эффективные приложения. Она охватывает как теоретические аспекты языка, так и практические подходы к решению типичных задач, встречающихся в реальных проектах
А вот и ссылка на книгу =>
https://github.com/omarshohid/Books/blob/master/Advance%20C%23%20Programming%20book.pdf
Advanced Programming на c# - эта книга полезна разработчикам, которые хотят углубить свои знания о C# и научиться разрабатывать сложные, безопасные и эффективные приложения. Она охватывает как теоретические аспекты языка, так и практические подходы к решению типичных задач, встречающихся в реальных проектах
А вот и ссылка на книгу =>
https://github.com/omarshohid/Books/blob/master/Advance%20C%23%20Programming%20book.pdf
GitHub
Books/Advance C# Programming book.pdf at master · omarshohid/Books
Contribute to omarshohid/Books development by creating an account on GitHub.
🔥2