هنگامی که نمیتوانید کلاس هایی که میخواهید تست کنید را از بقیهی سیستم ایزوله کنید، نوشتن آزمونهای واحد میتواند دشوار، وقت گیر و کند باشد. در دوره ویدیویی Mocking in .NET Core Unit Tests with Moq: Getting Started (تقلید کردن در آزمونهای واحد دات نت Core با Moq: شروع کار) موسسه Pluralsight که توسط Jason Roberts تدریس شده است، شما نحوهی ایجاد mockها و استفاده از آنها به عنوان وابستگیهای کلاس هایی که میخواهید تست کنید را یاد خواهید گرفت.
ابتدا، نحوه پیکربندی متدها و propertyهای تقلید شده (mocked) برای بازگرداندن مقادیر خاص را بررسی خواهید کرد. در ادامه، نحوهی انجام تست رفتار/تعامل را یاد خواهید گرفت. در پایان، شما نحوهی تنظیم استثناها و رویدادهای تقلید شده را میآموزید. وقتی که این دوره را به پایان رساندید، شما دانش لازم برای استفاده از Moq به منظور آزمون واحد کلاسهای خود به صورت ایزوله، توسط ایجاد و استفاده از اشیای mock در اختیار خواهید داشت.
Table of Contents:
Course Overview
- Course Overview
Getting Started with Mocking and Moq
- Introduction
- Course Outline
- An Overview of Mocking
- Why Mock?
- What Is a Unit?
- Fakes, Dummies, Stubs, Mocks, and Test Doubles
- An Overview of Moq
- Demo Code Overview
- Adding a Unit Test Project
- Writing Initial Tests
- Introducing a New Dependency and Installing Moq
- Summary
Mocking Method Calls
- Introduction
- Instantiating and Using a Mock Object
- Configuring Mock Object Method Return Values
- Argument Matching in Mocked Methods
- Understanding Strict and Loose Mocks
- Strict Mock Example
- Comparing Strict and Loose Mocks
- Refactoring the Tests
- Mocking Methods with out Parameters
- Summary
Mocking Properties
- Introduction
- Configuring a Mocked Property to Return a Specified Value
- Getting a Return Value from a Function
- Auto-mocking Property Hierarchies
- Specifying Default Value Behavior for Loose Mocks
- Tracking Changes to Mock Property Values
- Summary
Implementing Behavior Verification Tests
- Introduction
- Behavior Testing and State-based Testing
- Verifying a Method Was Called
- Adding a Custom Error Message
- Verifying a Method Was Not Called
- Verifying a Method Was Called a Specific Number of Times
- Verifying a Property Getter Was Called
- Verifying a Property Setter Was Called
- Summary
Using Additional Mocking Techniques
- Introduction
- Throwing Exceptions from Mock Objects
- Raising Events from Mock Objects
- Returning Different Results for Sequential Calls
- Mocking Members of Concrete Types
- Mocking Virtual Protected Members
- Improving Mock Setup Readability with LINQ to Mocks
- Refactoring the Test Class
- Summary