Practical Test-Driven Development using C# 7: Unleash the power of TDD by implementing real world examples under .NET environment and JavaScript

John Callaway, Clayton Hunt

買這商品的人也買了...

商品描述

Develop applications for the real world with a thorough software testing approach

Key Features

  • Develop a thorough understanding of TDD and how it can help you develop simpler applications with no defects using C# and JavaScript
  • Adapt to the mindset of writing tests before code by incorporating business goals, code manageability, and other factors
  • Make all your software units and modules pass tests by analyzing failed tests and refactoring code as and when required

Book Description

Test-Driven Development (TDD) is a methodology that helps you to write as little as code as possible to satisfy software requirements, and ensures that what you've written does what it's supposed to do. If you're looking for a practical resource on Test-Driven Development this is the book for you. You've found a practical end-to-end guide that will help you implement Test-Driven Techniques for your software development projects.

You will learn from industry standard patterns and practices, and shift from a conventional approach to a modern and efficient software testing approach in C# and JavaScript. This book starts with the basics of TDD and the components of a simple unit test. Then we look at setting up the testing framework so that you can easily run your tests in your development environment. You will then see the importance of defining and testing boundaries, abstracting away third-party code (including the .NET Framework), and working with different types of test double such as spies, mocks, and fakes.

Moving on, you will learn how to think like a TDD developer when it comes to application development. Next, you'll focus on writing tests for new/changing requirements and covering newly discovered bugs, along with how to test JavaScript applications and perform integration testing. You'll also learn how to identify code that is inherently un-testable, and identify some of the major problems with legacy applications that weren't written with testability in mind.

By the end of the book, you'll have all the TDD skills you'll need and you'll be able to re-enter the world as a TDD expert!

What you will learn

  • The core concepts of TDD
  • Testing in action with a real-world case study in C# and JavaScript using React
  • Writing proper Unit Tests and testable code for your application
  • Using different types of test double such as stubs, spies, and mocks
  • Growing an application guided by tests
  • Exploring new developments on a green-field application
  • Mitigating the problems associated with writing tests for legacy applications
  • Modifying a legacy application to make it testable

Who This Book Is For

This book is for software developers with a basic knowledge of Test Driven Development (TDD) who want a thorough understanding of how TDD can benefit them and the applications they produce. The examples in this book are in C#, and you will need a basic understanding of C# to work through these examples.

Table of Contents

  1. Why TDD is important
  2. Setting up the Test Environment
  3. Setting up the JavaScript Environment
  4. What Else Should I Know Before Getting Started?
  5. Tabula Rasa - Approaching an Application with TDD in Mind
  6. Approaching the Problem
  7. Test Driving C# Applications
  8. Abstract Away Problems
  9. Testing JavaScript Applications
  10. Exploring Integrations
  11. Change in Requirements?
  12. The Legacy Problem
  13. Unraveling a Mess
  14. A Better Foot Forward

商品描述(中文翻譯)

以徹底的軟體測試方法開發真實世界的應用程式

主要特點:
- 以C#和JavaScript開發,深入了解測試驅動開發(TDD)以及如何使用它來開發沒有缺陷的簡單應用程式
- 透過將商業目標、程式碼可管理性和其他因素納入測試前先撰寫測試的思維模式
- 通過分析失敗的測試並根據需要重構程式碼,使所有軟體單元和模組通過測試

書籍描述:
測試驅動開發(TDD)是一種方法論,幫助您以最少的程式碼滿足軟體需求,並確保您所撰寫的程式碼能夠正確執行。如果您正在尋找一本實用的測試驅動開發資源,這本書就是適合您的選擇。本書提供了一個實用的端到端指南,幫助您在軟體開發項目中實施測試驅動技術。

您將從行業標準模式和實踐中學習,從傳統方法轉向現代高效的C#和JavaScript軟體測試方法。本書從TDD的基礎知識和簡單單元測試組件開始。然後,我們將討論如何設置測試框架,以便您可以在開發環境中輕鬆運行測試。接著,您將了解定義和測試邊界的重要性,抽象化第三方程式碼(包括.NET Framework),以及使用間諜、模擬和假物等不同類型的測試替身。

接下來,您將學習如何像TDD開發人員一樣思考應用程式開發。然後,您將專注於為新/變更需求撰寫測試並解決新發現的錯誤,以及如何測試JavaScript應用程式和執行整合測試。您還將學習如何識別本質上無法測試的程式碼,以及識別沒有考慮可測試性的舊應用程式的主要問題。

通過閱讀本書,您將掌握所有TDD所需的技能,成為一名TDD專家!

您將學到:
- TDD的核心概念
- 在C#和JavaScript中使用React進行實際案例研究的測試實踐
- 為應用程式撰寫適當的單元測試和可測試程式碼
- 使用不同類型的測試替身,如存根、間諜和模擬
- 通過測試引導應用程式的成長
- 在全新應用程式上探索新發展
- 解決為舊應用程式撰寫測試時遇到的問題
- 修改舊應用程式以使其可測試

適合閱讀對象:
本書適合具備基本測試驅動開發(TDD)知識的軟體開發人員,他們希望深入了解TDD如何使他們及其所開發的應用程式受益。本書的示例程式碼使用C#,因此您需要基本的C#理解能力來進行實際操作。

目錄:
1. 為何重要的TDD
2. 設置測試環境
3. 設置JavaScript環境
4. 開始之前還需要了解什麼?
5. 以TDD思維處理應用程式
6. 解決問題的方法
7. 以TDD驅動C#應用程式
8. 抽象化問題
9. 測試JavaScript應用程式
10. 探索整合
11. 需求變更?
12. 舊應用程式的問題
13. 解開混亂
14. 更好的開始