C# and .NET Core Test-Driven Development

C# and .NET Core Test-Driven Development

Author: Ayobami Adewole

Publisher: Packt Publishing Ltd

Published: 2018-05-18

Total Pages: 293

ISBN-13: 1788299922

DOWNLOAD EBOOK

Learn how to apply a test-driven development process by building ready C# 7 and .NET Core applications. Key Features Create tests to quickly detect and resolve issues when writing portable code Uncover code integration issues that improve code quality using continuous integration Set up and use data-driven unit testing to verify your code Book Description This book guides developers to create robust, production-ready C# 7 and .NET Core applications through the practice of test-driven development process. In C# and .NET Core Test-Driven Development, you will learn the different stages of the TDD life cycle, basics of TDD, best practices, and anti-patterns. It will teach you how to create an ASP.NET Core MVC sample application, write testable code with SOLID principles and set up a dependency injection for your sample application. Next, you will learn the xUnit testing framework and learn how to use its attributes and assertions. You’ll see how to create data-driven unit tests and mock dependencies in your code. You will understand the difference between running and debugging your tests on .NET Core on LINUX versus Windows and Visual Studio. As you move forward, you will be able to create a healthy continuous integration process for your sample application using GitHub, TeamCity, Cake, and Microsoft VSTS. By the end of this book, you will have learned how to write clean and robust code through the effective practice of TDD, set up CI build steps to test and build applications as well as how to package application for deployment on NuGet. What you will learn Write flexible, maintainable, and verifiable code for .NET Core Write testable code using SOLID principles and dependency injections Recognize the characteristics of a good unit test Structure and group your unit test Use mock objects to handle dependencies Set up an end-to-end continuous integration process Who this book is for This book is for .NET developers who would like to build efficient applications by implementing principles of test-driven development. C# programming and working knowledge of VS is assumed.


Professional Test Driven Development with C#

Professional Test Driven Development with C#

Author: James Bender

Publisher: John Wiley & Sons

Published: 2011-05-10

Total Pages: 368

ISBN-13: 047064320X

DOWNLOAD EBOOK

Hands-on guidance to creating great test-driven development practice Test-driven development (TDD) practice helps developers recognize a well-designed application, and encourages writing a test before writing the functionality that needs to be implemented. This hands-on guide provides invaluable insight for creating successful test-driven development processes. With source code and examples featured in both C# and .NET, the book walks you through the TDD methodology and shows how it is applied to a real-world application. You’ll witness the application built from scratch and details each step that is involved in the development, as well as any problems that were encountered and the solutions that were applied. Clarifies the motivation behind test-driven development (TDD), what it is, and how it works Reviews the various steps involved in developing an application and the testing that is involved prior to implementing the functionality Discusses unit testing and refactoring Professional Test-Driven Development with C# shows you how to create great TDD processes right away.


The Art of Unit Testing

The Art of Unit Testing

Author: Roy Osherove

Publisher: Simon and Schuster

Published: 2013-11-24

Total Pages: 459

ISBN-13: 1638353050

DOWNLOAD EBOOK

Summary The Art of Unit Testing, Second Edition guides you step by step from writing your first simple tests to developing robust test sets that are maintainable, readable, and trustworthy. You'll master the foundational ideas and quickly move to high-value subjects like mocks, stubs, and isolation, including frameworks such as Moq, FakeItEasy, and Typemock Isolator. You'll explore test patterns and organization, working with legacy code, and even "untestable" code. Along the way, you'll learn about integration testing and techniques and tools for testing databases and other technologies. About this Book You know you should be unit testing, so why aren't you doing it? If you're new to unit testing, if you find unit testing tedious, or if you're just not getting enough payoff for the effort you put into it, keep reading. The Art of Unit Testing, Second Edition guides you step by step from writing your first simple unit tests to building complete test sets that are maintainable, readable, and trustworthy. You'll move quickly to more complicated subjects like mocks and stubs, while learning to use isolation (mocking) frameworks like Moq, FakeItEasy, and Typemock Isolator. You'll explore test patterns and organization, refactor code applications, and learn how to test "untestable" code. Along the way, you'll learn about integration testing and techniques for testing with databases. The examples in the book use C#, but will benefit anyone using a statically typed language such as Java or C++. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Create readable, maintainable, trustworthy tests Fakes, stubs, mock objects, and isolation (mocking) frameworks Simple dependency injection techniques Refactoring legacy code About the Author Roy Osherove has been coding for over 15 years, and he consults and trains teams worldwide on the gentle art of unit testing and test-driven development. His blog is at ArtOfUnitTesting.com. Table of Contents PART 1 GETTING STARTED The basics of unit testing A first unit test PART 2 CORE TECHNIQUES Using stubs to break dependencies Interaction testing using mock objects Isolation (mocking) frameworks Digging deeper into isolation frameworks PART 3 THE TEST CODE Test hierarchies and organization The pillars of good unit tests PART 4 DESIGN AND PROCESS Integrating unit testing into the organization Working with legacy code Design and testability


Test Driven Development

Test Driven Development

Author: Kent Beck

Publisher: Addison-Wesley Professional

Published: 2022-03-25

Total Pages: 241

ISBN-13: 0137585233

DOWNLOAD EBOOK

Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the author believes that byproducts of fear include tentative, grumpy, and uncommunicative programmers who are unable to absorb constructive criticism. When programming teams buy into TDD, they immediately see positive results. They eliminate the fear involved in their jobs, and are better equipped to tackle the difficult challenges that face them. TDD eliminates tentative traits, it teaches programmers to communicate, and it encourages team members to seek out criticism However, even the author admits that grumpiness must be worked out individually! In short, the premise behind TDD is that code should be continually tested and refactored. Kent Beck teaches programmers by example, so they can painlessly and dramatically increase the quality of their work.


Test-driven Development

Test-driven Development

Author: David Astels

Publisher: Prentice Hall

Published: 2003

Total Pages: 588

ISBN-13: 9780131016491

DOWNLOAD EBOOK

This guide for programmers teaches how to practice Test Driven Development (TDD), also called Test First Development. Contrary to the accepted approach to testing, when you practice TDD you write tests for code before you write the code being tested. This text provides examples in Java.


C# 7 and .NET Core: Modern Cross-Platform Development

C# 7 and .NET Core: Modern Cross-Platform Development

Author: Mark J. Price

Publisher: Packt Publishing Ltd

Published: 2017-03-24

Total Pages: 581

ISBN-13: 1787120260

DOWNLOAD EBOOK

Modern Cross-Platform Development About This Book Build modern, cross-platform applications with .NET Core Get up to speed with C#, and up to date with all the latest features of C# 7 Start creating professional web applications with ASP.NET Core Who This Book Is For This book is targeted towards readers who have some prior programming experience or have a science, technology, engineering, or mathematics (STEM) background, and want to gain a solid foundation with C# and to be introduced to the types of applications they could build and will work cross-platform on Windows, Linux, and macOS. What You Will Learn Build cross-platform applications using C# 7 and .NET Core Explore ASP.NET Core and learn how to create professional web applications Improve your application's performance using multitasking Use Entity Framework Core and find out how to build code-first databases Master object-oriented programming with C# to increase code reuse and efficiency Familiarize yourself with cross-device app development using the Universal Windows Platform and XAML Query and manipulate data using LINQ Protect your data by using encryption and hashing In Detail If you want to build powerful cross-platform applications with C# 7 and .NET Core, then this book is for you. First, we'll run you through the basics of C#, as well as object-oriented programming, before taking a quick tour through the latest features of C# 7 such as tuples, pattern matching, out variables, and so on. After quickly taking you through C# and how .NET works, we'll dive into the .NET Standard 1.6 class libraries, covering topics such as performance, monitoring, debugging, serialization and encryption. The final section will demonstrate the major types of application that you can build and deploy cross-device and cross-platform. In this section, we'll cover Universal Windows Platform (UWP) apps, web applications, mobile apps, and web services. Lastly, we'll look at how you can package and deploy your applications so that they can be hosted on all of today's most popular platforms, including Linux and Docker. By the end of the book, you'll be armed with all the knowledge you need to build modern, cross-platform applications using C# and .NET Core. Style and approach This book takes a step-by-step approach and is filled with exciting projects and fascinating theory. It uses three high-impact sections to equip you with all the tools you'll need to build modern, cross-platform applications using C# and .NET Core.


Test Driven Development for Embedded C

Test Driven Development for Embedded C

Author: James W. Grenning

Publisher: Pragmatic Bookshelf

Published: 2011-04-25

Total Pages: 486

ISBN-13: 1680504886

DOWNLOAD EBOOK

Another day without Test-Driven Development means more time wasted chasing bugs and watching your code deteriorate. You thought TDD was for someone else, but it's not! It's for you, the embedded C programmer. TDD helps you prevent defects and build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers. TDD is a modern programming practice C developers need to know. It's a different way to program---unit tests are written in a tight feedback loop with the production code, assuring your code does what you think. You get valuable feedback every few minutes. You find mistakes before they become bugs. You get early warning of design problems. You get immediate notification of side effect defects. You get to spend more time adding valuable features to your product. James is one of the few experts in applying TDD to embedded C. With his 1.5 decades of training,coaching, and practicing TDD in C, C++, Java, and C# he will lead you from being a novice in TDD to using the techniques that few have mastered. This book is full of code written for embedded C programmers. You don't just see the end product, you see code and tests evolve. James leads you through the thought process and decisions made each step of the way. You'll learn techniques for test-driving code right nextto the hardware, and you'll learn design principles and how to apply them to C to keep your code clean and flexible. To run the examples in this book, you will need a C/C++ development environment on your machine, and the GNU GCC tool chain or Microsoft Visual Studio for C++ (some project conversion may be needed).


Hands-On Design Patterns with C# and .NET Core

Hands-On Design Patterns with C# and .NET Core

Author: Gaurav Aroraa

Publisher: Packt Publishing Ltd

Published: 2019-07-05

Total Pages: 402

ISBN-13: 1789138434

DOWNLOAD EBOOK

Apply design patterns to solve problems in software architecture and programming using C# 7.x and .NET Core 2 Key FeaturesEnhance your programming skills by implementing efficient design patterns for C# and .NETExplore design patterns for functional and reactive programming to build robust and scalable applicationsDiscover how to work effectively with microservice and serverless architecturesBook Description Design patterns are essentially reusable solutions to common programming problems. When used correctly, they meet crucial software requirements with ease and reduce costs. This book will uncover effective ways to use design patterns and demonstrate their implementation with executable code specific to both C# and .NET Core. Hands-On Design Patterns with C# and .NET Core begins with an overview of object-oriented programming (OOP) and SOLID principles. It provides an in-depth explanation of the Gang of Four (GoF) design patterns such as creational, structural, and behavioral. The book then takes you through functional, reactive, and concurrent patterns, helping you write better code with streams, threads, and coroutines. Toward the end of the book, you’ll learn about the latest trends in architecture, exploring design patterns for microservices, serverless, and cloud native applications. You’ll even understand the considerations that need to be taken into account when choosing between different architectures such as microservices and MVC. By the end of the book, you will be able to write efficient and clear code and be comfortable working on scalable and maintainable projects of any size. What you will learnMake your code more flexible by applying SOLID principlesFollow the Test-driven development (TDD) approach in your .NET Core projectsGet to grips with efficient database migration, data persistence, and testing techniquesConvert a console application to a web application using the right MVPWrite asynchronous, multithreaded, and parallel codeImplement MVVM and work with RxJS and AngularJS to deal with changes in databasesExplore the features of microservices, serverless programming, and cloud computingWho this book is for If you have a basic understanding of C# and the .NET Core framework, this book will help you write code that is easy to reuse and maintain with the help of proven design patterns that you can implement in your code.


Hands-On TypeScript for C# and .NET Core Developers

Hands-On TypeScript for C# and .NET Core Developers

Author: Francesco Abbruzzese

Publisher: Packt Publishing Ltd

Published: 2018-10-31

Total Pages: 449

ISBN-13: 1789133327

DOWNLOAD EBOOK

Discover how TypeScript allows you to build modern client-rich applications, thanks to its object-oriented capabilities and third-party tools like Angular and Web APIs Key FeaturesMake a seamless transition to using TypeScript 3.1 in your development stackWork with TypeScript 3.1 in your ASP.NET Core projects to build rich applications that are easy to maintainBuild, test, and integrate your own TypeScript library in real-world projectsBook Description Writing clean, object-oriented code in JavaScript gets trickier and complex as the size of the project grows. This is where Typescript comes into the picture; it lets you write pure object-oriented code with ease, giving it the upper hand over JavaScript. This book introduces you to basic TypeScript concepts by gradually modifying standard JavaScript code, which makes learning TypeScript easy for C# ASP.NET developers. As you progress through the chapters, you'll cover object programming concepts, such as classes, interfaces, and generics, and understand how they are related to, and similar in, both ES6 and C#. You will also learn how to use bundlers like WebPack to package your code and other resources. The book explains all concepts using practical examples of ASP.NET Core projects, and reusable TypeScript libraries. Finally, you'll explore the features that TypeScript inherits from either ES6 or C#, or both of them, such as Symbols, Iterables, Promises, and Decorators. By the end of the book, you'll be able to apply all TypeScript concepts to understand the Angular framework better, and you'll have become comfortable with the way in which modules, components, and services are defined and used in Angular. You'll also have gained a good understanding of all the features included in the Angular/ASP.NET Core Visual Studio project template. What you will learnOrganize, test, and package large TypeScript code baseAdd TypeScript to projects using TypeScript declaration filesPerform DOM manipulation with TypeScriptDevelop Angular projects with the Visual Studio Angular project templateDefine and use inheritance, abstract classes, and methodsLeverage TypeScript-type compatibility rulesUse WebPack to bundle JavaScript and other resources such as CSS to improve performanceBuild custom directives and attributes, and learn about animationsWho this book is for If you’re a C# or .NET developer looking for an easy accessible way of learning TypeScript, this book is for you.


ASP.NET Core Recipes

ASP.NET Core Recipes

Author: John Ciliberti

Publisher: Apress

Published: 2017-09-12

Total Pages: 447

ISBN-13: 1484204271

DOWNLOAD EBOOK

Quickly find solutions to common web development problems. Content is presented in the popular problem-solution format. Look up the problem that you want to solve. Read the solution. Apply the solution directly in your own code. Problem solved! ASP.NET Core Recipes is a practical guide for developers creating modern web applications, cutting through the complexities of ASP.NET, jQuery, React, and HTML5 to provide straightforward solutions to common web development problems using proven methods based on best practices. The problem-solution approach gets you in, out, and back to work quickly while deepening your understanding of the underlying platform and how to develop with it. Author John Ciliberti guides you through the MVC framework and development tools, presenting typical challenges, along with code solutions and clear, concise explanations, to accelerate application development. Solve problems immediately by pasting in code from the recipes, or put multiple recipe solutions together to overcome challenging development obstacles. What You'll Learn Take advantage of MVC's streamlined syntax Discover how to take full control over HTML Develop a simple API for creating RESTful web services Understand test-driven development Migrate a project from ASP.NET web forms to Core MVC, including recipes for converting DataGrids, Forms, Web Parts, Master Pages, and navigation controls Use Core MVC in combination with popular JavaScript libraries, including jQuery, React, Bootstrap, and more Write unit tests for your MVC controllers, views, custom filters, and HTML helpers Utilize the latest features in Visual Studio 2017 to accelerate your Core MVC projects Identify performance bottlenecks in your MVC application Who This Book Is For Web developers of all skill levels who are looking for a programming reference for ASP.NET Core MVC and would like to gain an understanding of the inner workings of the platform. In addition, parts of this book provide guidance to developers familiar with ASP.NET Web Forms who would like to update their skill set to include Core MVC.