Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

TDD in C# From A to Z

TDD trong C# Từ Cơ Bản đến Nâng Cao

TDD trong C# Từ Cơ Bản đến Nâng Cao

Phát triển phần mềm bằng TDD với SpecFlow + TestStack White. Học phát triển hướng kiểm thử và nâng cao kỹ năng kiểm thử đơn vị!

4.6
(1,258 đánh giá)
6,416 học viên
Giảng viên
Engineer Spock
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
9.5 giờ video
83 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Áp dụng TDD vào công việc hàng ngày
Luyện tập katas để cải thiện TDD và hiểu biết về nguyên lý lập trình cơ bản
Viết kiểm thử chấp nhận với SpecFlow bằng Gherkin
Phát triển phần mềm theo quy trình linh hoạt "thực sự", lặp đi lặp lại
Áp dụng các phương pháp hay nhất về kiểm thử đơn vị và TDD

Yêu cầu

Bạn cần có kiến thức cơ bản về C#
Bạn cần có kiến thức cơ bản về kiểm thử đơn vị
Bạn cần có kiến thức cơ bản về dependency injection

Đối tượng phù hợp

Dành cho mọi lập trình viên muốn nâng cao kỹ năng lập trình chuyên nghiệp

Nội dung khóa học

8 phần • 83 bài giảng
1 Tải Mã Nguồn
2 Tham gia Cộng đồng .NET dành cho Học viên
3 Nội dung chính
4 Tại sao chúng ta cần TDD?
5 TDD là gì?
6 Red / Green / Refactor
7 Ba Nguyên tắc của TDD
8 Thay đổi yêu cầu và Mạng lưới an toàn
9 F.I.R.S.T.
10 Độ bao phủ mã nguồn (Code Coverage)
11 Các loại kiểm thử khác nhau và TDD
12 Framework và Công cụ kiểm thử
13 Khi nào TDD thất bại?
14 Kết luận
1 Nội dung chính
2 Quy trình Agile thông thường trong 200 từ
3 Phím tắt VS và R#
4 Lệnh tái cấu trúc tích hợp sẵn trong VS 2017
5 Dãy số Fibonacci
6 Ba kỹ thuật TDD chính
7 Lấy vàng (Grabbing the Gold)
8 FizzBuzz
9 Đọc số La Mã
10 Vòng quay có thể cập nhật (Updateable Spin)
11 Kiểm thử liên tục
12 Cờ Caro (Tic-Tac-Toe)
13 Viết Assert trước (Assert First)
14 Demo - Trò chơi Que (Sticks)
15 Kết luận
1 Nội dung chính
2 Kata Ngăn xếp (Stack)
3 Kata Ngăn xếp bất biến (Immutable Stack)
4 Kata Danh sách liên kết (LinkedList)
5 Kết luận
1 Nội dung chính
2 Demo vấn đề
3 Tái cấu trúc để mã có thể kiểm thử
4 Test Doubles
5 Viết kiểm thử với Mocks tự viết
6 Vấn đề với Mocks tự viết
7 Mocking Frameworks
8 Viết kiểm thử với Mocking Framework
9 NSubstitute. Tính năng chính
10 Trường phái Cổ điển vs Trường phái London
11 Kết luận
1 Nội dung chính
2 Kiểm thử chấp nhận là gì?
3 Tổng quan về SpecFlow
4 Gherkin. Tính năng và Kịch bản
5 Cơ bản về SpecFlow
6 Kiểm thử tích hợp và giao diện
7 Framework kiểm thử tự động giao diện
8 Tổng quan về TestStack.White
9 Kết luận
1 Nội dung chính
2 Tổng quan ứng dụng
3 Viết kiểm thử chấp nhận
4 Xây dựng cầu nối tới giao diện người dùng áp dụng Mẫu thiết kế Page Object
5 Triển khai kiểm thử chấp nhận
6 Triển khai ViewModels bằng TDD. Phần 1.
7 Triển khai ViewModels bằng TDD. Phần 2.
8 Kết luận
1 Nội dung chính
2 Rốt cuộc TDD là gì? Cuộc sống không có TDD
3 Agile và TDD
4 TDD và Thiết kế trước
5 Kiểm thử đơn vị có đảm bảo thành công?
6 Không có kiểm thử còn hơn có kiểm thử tồi
7 Kiến trúc và Thiết kế
8 Kết luận
1 Nội dung chính
2 Kết thúc một ngày với TDD
3 Lập trình cặp và Lập trình Ping-Pong
4 Chất lượng kiểm thử
5 Dữ liệu kiểm thử
6 Shouldly
7 Ưu tiên câu lệnh if tích cực
8 Kiểm thử mã tầm thường
9 Kiểm thử một mối quan tâm duy nhất
10 Singletons và lớp tĩnh
11 Mẫu thiết kế Builder. Tính bất biến và khả năng kiểm thử
12 Kết luận
13 BÀI HỌC BỔ SUNG

Giới thiệu khóa học

Today unit testing is the absolutely required skill which is required from any professional developer. Companies expect from developers to know how to write unit tests including all the most important topics such as mocking and test driven development (TDD in short).

This course is all about practicing TDD using C# programming language and NUnit as a unit testing framework. Along the way, we will learn the concepts related to unit testing. This course does not cover all the features of NUnit. This course is way more interesting.

Learning unit testing and TDD puts a powerful and very useful tool at your fingertips. Being familiar with unit testing and TDD you can write reliable and maintainable applications. It is very hard to lead a project which is not covered by unit tests.

Content and Overview   

This course is primarily aimed at developers who’re already familiar with the basics of unit testing and dependency injection. Some experience in C# programming is required. The course provides solid theoretical base reinforced by tons of practical material.

We start with basics of test-driven development. Why we need TDD? What is TDD? When TDD fails, three laws of TDD, different types of tests, tooling and other fundamental topics. This section is mostly theoretical.   

Theory is dead without practice, so starting from the second section, you’ll see tons of programming sessions where I’ll demonstrate how to implement generating of Fibonacci numbers, FizzBuzz, parsing of roman numerals, updateable spin synchronization primitives, tic-tac-toe or crosses and noughts game and game in sticks. You’ll also learn:   

  • How a regular agile development process looks like   

  • That you need to learn shortcuts to practice TDD more smoothly   

  • Three Main TDD techniques: faking, triangulation and obvious implementation   

  • Which tests to write first   

  • How to start writing a test in a TDD manner   

  • Stack kata   

  • Immutable stack kata   

  • And list kata   

  • What is acceptance testing   

  • About the SpecFlow acceptance testing framework   

  • How to write acceptance tests with SpecFlow in Gherkin language   

  • What are UI tests   

  • What tools for writing UI Tests exist   

  • How to access UI through the TestStack.White framework   

Have you heard about katas? No, I’m talking about programming. In the third section, you’ll learn what is a code kata and I’ll demonstrate three code katas:   

Growing an application by writing tests first, we’re not only writing unit tests first. So, in the next section, you’ll learn what is acceptance testing and integration testing. You’ll learn:   

You’ll need to see how to apply all the material learned by this moment. Practice helps very much with understanding especially when we uncover highly practical topics such as TDD. That’s why I decided to show you how all the things work in practice altogether. So, in the next section, you’ll see a real enterprise approach for working on a software project in action.   

  • I’ll build a bridge to UI through TestStack.White applying the Page Object design pattern   

  • I’ll write acceptance tests using the bridge built for accessing UI   

  • I’ll implement ViewModels and all the corresponding business-logic   

  • What is TDD in the end? Is it possible to live without it?   

  • The relationships between TDD and Agile development process   

  • Should we design architecture upfront or not?   

  • Do unit tests guarantee the success?   

  • Quality of tests, some criterions   

  • How to express data for writing unit tests   

  • Shouldly for writing more readable assertions   

  • Singletons, Static classes and testability, Builder design pattern   

  • And some other important topics

The last two sections are rather philosophical. We will discuss:   

  • What is TDD in the end? Is it possible to live without it?   

  • The relationships between TDD and Agile development process   

  • Should we design architecture upfront or not?   

  • Do unit tests guarantee the success?   

  • Quality of tests, some criterions   

  • How to express data for writing unit tests   

  • Shouldly for writing more readable assertions   

  • Singletons, Static classes and testability, Builder design pattern   

  • and some other important topics

Here is my Teaching Approach -

No fluff, no ranting, no beating the air. I respect your time. The course material is succinct, yet comprehensive. All important concepts are covered. Particularly important topics are covered in-depth.

Take this course, and you will be satisfied.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học C Sharp
Hiển thị tất cả khoá học Software Development
Hiển thị tất cả khoá học Test Driven Development
Hiển thị tất cả khoá học Unit Testing
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊