آموزش تست جاوا با JUnit 5 و Mockito

Testing Java with JUnit 5 & Mockito

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: تست واحد و تست یکپارچه سازی برنامه های جاوا و اسپرینگ بوت. توسعه آزمایش محور (TDD) توضیح داده شده است. JUnit 5 - مباحث پایه و پیشرفته تست لایه وب و کنترلرها کد جاوا را با Mockito - محبوب ترین Mocking Framework تست کنید. تست لایه داده و مخازن JPA نوشتن تست های یکپارچه سازی بوت بهار تست لایه کسب و کار و کلاس های سرویس Master Test Driven Development (TDD) و بیشتر... پیش نیازها:دانش پایه جاوا

تست واحد یک مهارت ضروری است و این دوره ویدیویی در مورد تست واحد است.

اگر در این دوره ویدیویی شرکت کنید، یاد خواهید گرفت که چگونه کد جاوا خود را با استفاده از JUnit 5 و چارچوب Mockito آزمایش کنید.

این دوره ویدیویی برای مبتدیان است و برای ثبت نام در این دوره، نیازی به داشتن دانش قبلی تست واحد ندارید.


JUnit 5 در پروژه های مختلف جاوا

پروژه های جاوا، ابزارهای ساخت و محیط های توسعه متفاوتی وجود دارد. در این دوره آموزشی، نحوه ایجاد یک پروژه جدید و پیکربندی پشتیبانی JUnit 5 را برای انواع مختلف پروژه ها، با استفاده از محیط های مختلف توسعه و ابزارهای ساخت، یاد خواهید گرفت.

در اینجا نحوه ایجاد تست واحد را خواهید آموخت:

  • IntelliJ IDEA و

  • محیط‌های توسعه Eclipse.

در اینجا نحوه ایجاد تست واحد را خواهید آموخت:

  • پروژه معمولی جاوا،

  • پروژه جاوا مبتنی بر Maven،

  • پروژه جاوا مبتنی بر گهواره.


نمای کلی دوره

این دوره ویدیویی تست واحد و یکپارچه سازی با جاوا را از همان ابتدا آموزش می دهد و بسیاری از موضوعات پیشرفته را نیز پوشش می دهد. در پایان این دوره، یاد خواهید گرفت:

  • اصول اولیه JUnit 5 و

  • موضوعات پیشرفته JUnit 5.

وقتی با JUnit 5 آشنا شدید، استفاده از این موارد را یاد خواهید گرفت:

  • توسعه آزمایش محور (TDD)

سپس یاد خواهید گرفت که از یک چارچوب تست بسیار محبوب دیگر برای جاوا به نام

استفاده کنید
  • Mockito

همچنین نحوه نوشتن را یاد خواهید گرفت:

  • تست های ادغام Spring Boot

در پایان این دوره، همه موارد زیر را خواهید آموخت و می توانید از آنها استفاده کنید:


  • تست‌های واحد را در IntelliJ ایجاد کنید،

  • تست‌های واحد را در Eclipse ایجاد کنید،

  • تست‌های واحد را با استفاده از Gradle،

    اجرا کنید
  • تست‌های واحد را با استفاده از Maven،

    اجرا کنید
  • از حاشیه نویسی @DisplayName،

    استفاده کنید
  • از اظهارات JUnit،

    استفاده کنید
  • تست برای استثناها،

  • استفاده از روش‌های چرخه زندگی (@BeforeAll، @BeforeEach، @AfterEach، @AfterAll)،

  • تست‌های واحد را به هر ترتیبی که نیاز دارید اجرا کنید: (تصادفی، ترتیب بر اساس نام، ترتیب براساس فهرست)،

  • تست واحد را غیرفعال کنید،

  • تست های مکرر با حاشیه نویسی @RepeatedTest،

  • آزمون های پارامتری شده با حاشیه نویسی @Parameterized

    • @ValueSource،

    • @MethodSource،

    • @CsvSource،

    • @CsvFileSource

  • تغییر چرخه عمر نمونه آزمایشی با @TestInstance (PER_CLASS، PER_METHOD)

  • یاد بگیرید که اشیاء را با حاشیه‌نویسی Mock@Mockito Mock کنید،

  • یاد بگیرید که با آرگومان های کاربر Mockito مطابقت داشته باشد،

  • تخریب روش Mockito،

  • استثنای Mockito،

  • تأیید تماس روش،

  • Call Real Method،

  • هنگام فراخوانی متدی،

    کاری انجام ندهید
  • تست های یکپارچه سازی را برای برنامه های Spring Boot بنویسید،

  • و موارد دیگر...


سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

  • تست واحد چیست؟ What is a Unit Test?

  • چرا Unit Test بنویسیم؟ Why write Unit Test?

  • اصل F.I.R.S.T The F.I.R.S.T Principle

  • کد تست به صورت مجزا Testing Code in Isolation

  • هرم تست Testing Pyramid

  • امتحان مبانی تست واحد Quiz. Basics of Unit Testing

  • JUnit 5 چیست؟ What is JUnit 5?

  • JUnit و ابزارهای ساخت JUnit and Build Tools

JUnit 5 را به پروژه Maven اضافه کنید Add JUnit 5 to Maven project

  • پروژه جدید Maven را با استفاده از IntelliJ IDEA ایجاد کنید Create new Maven project using IntelliJ IDEA

  • وابستگی های JUnit را اضافه کنید Add JUnit Dependencies

  • افزونه Maven Surefire Maven Surefire Plugin

JUnit 5 را به پروژه Gradle اضافه کنید Add JUnit 5 to Gradle project

  • ایجاد یک پروژه جدید Creating a new project

  • وابستگی های JUnit را اضافه کنید Add JUnit Dependencies

  • اجرای آزمون واحد Executing Unit Test

JUnit 5 را به یک پروژه اصلی جاوا اضافه کنید Add JUnit 5 to a basic Java project

  • معرفی Introduction

  • پروژه پایه جاوا با IntelliJ Basic Java project with IntelliJ

  • پروژه پایه جاوا با Eclipse Basic Java project with Eclipse

مبانی JUnit 5 Basics of JUnit 5

  • معرفی Introduction

  • ایجاد روش آزمون واحد اول Creating First Unit Test method

  • اظهارات و پیام ادعا Assertions and Assertion message

  • ادعاهای دیگر Other assertions

  • تمرین تست JUnit JUnit Test Exercise

  • نمای کلی راه حل تمرین Exercise solution overview

  • پیام های ادعای تنبل Lazy Assert Messages

  • نامگذاری آزمون های واحد Naming Unit Tests

  • حاشیه نویسی @DisplayName @DisplayName annotation

  • ساختار کد روش آزمون. ترتیب، عمل، ادعا. Test Method Code Structure. Arrange, Act, Assert.

  • چرخه حیات تست JUnit JUnit Test Lifecycle

  • نسخه ی نمایشی روش های چرخه حیات Lifecycle methods demo

  • آزمون - چرخه حیات تست JUnit Quiz - JUnit Test Lifecycle

  • تست واحد را غیرفعال کنید Disable Unit Test

  • ادعای یک استثنا Assert an Exception

Advanced JUnit 5 Advanced JUnit 5

  • @ParameterizedTest. چند پارامتر با @MethodSource. @ParameterizedTest. Multiple Parameters with @MethodSource.

  • @ParameterizedTest. چندین پارامتر با @CsvSource. @ParameterizedTest. Multiple parameters with @CsvSource.

  • @ParameterizedTest + فایل CSV @ParameterizedTest + CSV file

  • @ParameterizedTest + حاشیه نویسی @ValueSource. @ParameterizedTest + @ValueSource annotation.

  • تست های مکرر Repeated Tests

  • ترتیب روش ها - ترتیب تصادفی Methods Order - Random order

  • ترتیب روش ها - ترتیب بر اساس نام Methods Order - Order by name

  • ترتیب روش ها - تصادفی بر اساس فهرست سفارش Methods Order - Random by order index

  • ترتیب کلاس های آزمون واحد Order of Unit Test Classes

  • امتحان Quiz

  • چرخه عمر نمونه آزمایشی - مقدمه Test Instance Lifecycle - Introduction

  • تغییر چرخه عمر نمونه آزمایش - مثال 1 Changing Test Instance Lifecycle - example 1

  • بررسی اجمالی پروژه چرخه عمر نمونه آزمایشی Test Instance Lifecycle Demo project overview

  • اجرای پروژه آزمایشی چرخه عمر نمونه آزمایشی Test Instance Lifecycle Demo Project Implementation

  • امتحان Quiz

توسعه آزمایش محور (TDD) Test Driven Development (TDD)

  • معرفی Introduction

  • پروژه جدید، کلاس، روش New project, Class, Method

  • ایجاد UserService Creating UserService

  • روش ایجاد کاربر را آزمایش کنید Test Create User method

  • شیء تست کاربر حاوی نام کوچک است Test User object contains first name

  • روش تست Refactor Refactor Test method

  • ورزش Exercise

  • بررسی اجمالی راه حل Solution overview

  • بررسی کنید که آیا شناسه کاربری تنظیم شده است Check if user id is set

  • Assert Exception را پرتاب می کند Assert throws Exception

  • ورزش Exercise

  • ورزش Exercise

موکیتو Mockito

  • معرفی Introduction

  • اضافه کردن Mocking به پروژه Adding Mocking to a project

  • روش در دست بررسی اجمالی Method under test overview

  • پیاده سازی UsersRepository Implementing UsersRepository

  • تزریق UsersRepository به عنوان وابستگی Injecting UsersRepository as Dependency

  • ایجاد یک شیء ساختگی Creating a Mock object

  • Stubbing با استفاده از تطبیق آرگومان () داخلی Stubbing using built-in any() argument matcher

  • تأیید فراخوانی روش Verify method call

  • مستثنی کردن Exception stubbing

  • ایجاد کلاس EmailNotificationService Creating EmailNotificationService class

  • روش Stub void با Exception Stub void method with Exception

  • وقتی متد فراخوانی می شود کاری انجام ندهید Do nothing when method is called

  • روش واقعی تماس بگیرید Call real method

پوشش کد Code Coverage

  • معرفی Introduction

  • ایجاد گزارش پوشش کد Generating code coverage report

  • گزارش پوشش کد صادرات Export Code Coverage Report

  • صادرات گزارش تست با استفاده از Maven Export Test Report using Maven

  • Jacoco - Maven پلاگین برای پوشش کد Jacoco - Maven Plugin for Code Coverage

  • Jacoco - گزارش پوشش کد صادراتی در قالب HTML Jacoco - Export Code Coverage Report in HTML format

بوت بهار (قسمت 1) - تست کنترلرهای REST Spring Boot (Part 1) - Testing REST Controllers

  • مقدمه ای بر واحد تست فنری برنامه Introduction to Unit Testing Spring Boot Application

  • مقدمه ای بر تست یکپارچه سازی لایه وب Introduction to Integration Testing of Web Layer

  • مقدمه ای بر تست یکپارچه سازی با همه لایه ها Introduction to Integration Testing with All Layers

  • افزودن پشتیبانی تست به برنامه Spring Boot Adding Testing Support to Spring Boot Application

  • نمای کلی پروژه موجود + کد منبع Existing Project overview + Source code

  • کلاس تست جدید. @WebMvcTest و @AutoConfigureMockMvc. New Test Class. @WebMvcTest & @AutoConfigureMockMvc.

  • RequestBuilder - ساخت و انجام درخواست HTTP RequestBuilder - Building and Performing HTTP Request

  • @MockBean - لایه سرویس مسخره @MockBean - Mocking Service Layer

  • حاشیه نویسی @MockBean - سعی می کنید چگونه کار می کند. @MockBean annotation - Trying how it works.

  • درخواست برای BAD_REQUEST Assert for BAD_REQUEST

  • ورزش را تمرین کنید Practice exercise

  • نمای کلی راه حل تمرین را تمرین کنید Practice exercise solution overview

چکمه فنری (قسمت 2) - همه لایه ها Spring Boot (Part 2) - All Layers

  • معرفی Introduction

  • حاشیه نویسی @SpringBootTest @SpringBootTest annotation

  • @SpringBootTest WebEnvironment MOCK @SpringBootTest WebEnvironment MOCK

  • شماره پورت تعریف شده Defined Port Number

  • @TestPropertySource. در حال بارگیری پیکربندی جایگزین @TestPropertySource. Loading alternative configuration.

  • شماره پورت تصادفی Random Port Number

  • تست ایجاد کاربر - جزئیات کاربر JSON Test Create User - User Details JSON

  • TestRestTemplate - درخواست ارسال HTTP را آماده و انجام دهید TestRestTemplate - Prepare & Perform HTTP Post Request

  • امتحان کردن چگونه کار می کند Trying how it works

  • تست JWT مورد نیاز است Test JWT is Required

  • تست ورود کاربر کار می کند Test User Login Works

  • سفارش روش های تست Order Test Methods

  • GET/users. توکن JWT را در درخواست قرار دهید GET /users. Include JWT Token in the Request

  • کد منبع Source code

  • درس های بیشتری در شرف بارگذاری هستند More lessons are about to be uploaded

تست فقط لایه داده نهادهای JPA Testing Data Layer Only. JPA Entities.

  • مقدمه ای بر تست نهادهای JPA Introduction to testing JPA Entities

  • بررسی اجمالی نهاد JPA + کد منبع JPA Entity Overview + Source Code

  • تست کنید که UserEntity می تواند تداوم داشته باشد Test that UserEntity can be persisted

  • Test UserEntity را نمی توان با نام کوچک کاربر نامعتبر حفظ کرد Test UserEntity cannot be persisted with invalid user's first name

  • Excersize - تست کنید که UserId منحصر به فرد است Excersize - Test that UserId is Unique

  • راه حل Excersize + کد منبع Excersize solution + Source code

تست مخازن JPA Testing JPA Repositories

  • مقدمه ای بر تست مخازن JPA Introduction to testing JPA Repositories

  • آزمایش یافتن با روش پرس و جو از طریق ایمیل Testing Find By Email Query Method

  • Excersize - تست یافتن با روش جستجوی شناسه کاربر Excersize - Test Find By User Id Query Method

  • نمای کلی راه حل Excersize + کد منبع Excersize solution overview + Source code

  • تست JPQL Query + کد منبع Test JPQL Query + Source code

بعدش چی؟ What's next?

  • سخنرانی پاداش Bonus lecture

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.

آموزش تست جاوا با JUnit 5 و Mockito
جزییات دوره
7.5 hours
113
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,689
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Sergey Kargopolov Sergey Kargopolov

توسعه دهنده نرم افزار