Test Driven Development

Test Driven Development
Author: Kent Beck
Publisher: Addison-Wesley Professional
Total Pages: 241
Release: 2022-03-25
Genre: Computers
ISBN: 0137585233

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.

The Art of Unit Testing

The Art of Unit Testing
Author: Roy Osherove
Publisher: Simon and Schuster
Total Pages: 459
Release: 2013-11-24
Genre: Computers
ISBN: 1638353050

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

Mastering Angular Test-Driven Development

Mastering Angular Test-Driven Development
Author: Ezéchiel Amen AGBLA
Publisher: Packt Publishing Ltd
Total Pages: 246
Release: 2024-10-04
Genre: Computers
ISBN: 1805127934

Unlock the full potential of Angular test-driven development (TDD) with Jasmine, Karma, Protractor, and Cypress for effective unit testing, end-to-end testing, and CI/CD Key Features Implement test-driven development practices in Angular using tools like Jasmine, Karma, and Cypress Understand end-to-end testing through real-world scenarios and practical examples Discover best practices for incorporating TDD into continuous integration and deployment (CI/CD) processes Purchase of the print or Kindle book includes a free PDF eBook Book DescriptionDo you want to learn how to build robust, reliable, and impressive Angular applications? If yes, then Angular test-driven development is for you! Mastering Angular Test-Driven Development is a comprehensive guide that provides you with essential resources to enhance your skills and deliver high-quality Angular applications. With a practical approach and real-world examples, the book extensively covers TDD concepts, techniques, and tools, going beyond unit testing to explore testing Angular pipes, forms, and reactive programming. In this book, you’ll learn how to validate and manipulate data using pipes, test Angular forms for input validation and user interactions, and handle asynchronous operations with reactive programming. Additionally, you’ll discover end-to-end testing using Protractor, Cypress, and Playwright frameworks, gaining valuable insights into writing robust tests for web applications, navigation, element interaction, and behavior validation. You’ll also understand how to integrate TDD with CI/CD, learning best practices for automating tests, deploying Angular applications, and achieving faster feedback loops. By the end of this book, you’ll be able to successfully implement TDD in your Angular projects with the help of practical examples, best practices, and clear explanations.What you will learn Explore the fundamentals of TDD in Angular Set up your development environment with Jasmine and Karma for effective unit testing Discover advanced techniques for mocking and stubbing dependencies to isolate and test code units Test Angular pipes, forms, and reactive programming for data validation and asynchronous operations Understand end-to-end testing using Protractor, Cypress, and Playwright to validate application behavior Get up to speed with best practices for automating tests and achieving faster feedback loops Who this book is for This book is for both experienced Angular developers and junior developers. Tech leads and architects who are responsible for code quality and scalability will also benefit from this book, as well as software development students looking to learn TDD concepts. Whether you're an experienced developer, a junior programmer, or a student, this book will equip you with the necessary knowledge to implement TDD in Angular projects.

Test-Driven Development with Python

Test-Driven Development with Python
Author: Harry Percival
Publisher: "O'Reilly Media, Inc."
Total Pages: 554
Release: 2017-08-02
Genre: Computers
ISBN: 1491958650

By taking you through the development of a real web application from beginning to end, the second edition of this hands-on guide demonstrates the practical advantages of test-driven development (TDD) with Python. You’ll learn how to write and run tests before building each part of your app, and then develop the minimum amount of code required to pass those tests. The result? Clean code that works. In the process, you’ll learn the basics of Django, Selenium, Git, jQuery, and Mock, along with current web development techniques. If you’re ready to take your Python skills to the next level, this book—updated for Python 3.6—clearly demonstrates how TDD encourages simple designs and inspires confidence. Dive into the TDD workflow, including the unit test/code cycle and refactoring Use unit tests for classes and functions, and functional tests for user interactions within the browser Learn when and how to use mock objects, and the pros and cons of isolated vs. integrated tests Test and automate your deployments with a staging server Apply tests to the third-party plugins you integrate into your site Run tests automatically by using a Continuous Integration environment Use TDD to build a REST API with a front-end Ajax interface

Test-Driven Python Development

Test-Driven Python Development
Author: Siddharta Govindaraj
Publisher: Packt Publishing Ltd
Total Pages: 264
Release: 2015-04-29
Genre: Computers
ISBN: 1783987936

This book is intended for Python developers who want to use the principles of test-driven development (TDD) to create efficient and robust applications. In order to get the best out of this book, you should have development experience with Python.

Angular Development with TypeScript

Angular Development with TypeScript
Author: Anton Moiseev
Publisher: Simon and Schuster
Total Pages: 866
Release: 2018-12-05
Genre: Computers
ISBN: 1638355258

Summary Angular Development with TypeScript, Second Edition is an intermediate-level tutorial that introduces Angular and TypeScript to developers comfortable with building web applications using other frameworks and tools. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Whether you're building lightweight web clients or full-featured SPAs, Angular is a clear choice. The Angular framework is fast, efficient, and widely adopted. Add the benefits of developing in the statically typed, fully integrated TypeScript language, and you get a programming experience other JavaScript frameworks just can't match. About the Book Angular Development with TypeScript, Second Edition teaches you how to build web applications with Angular and TypeScript. Written in an accessible, lively style, this illuminating guide covers core concerns like state management, data, forms, and server communication as you build a full-featured online auction app. You'll get the skills you need to write type-aware classes, interfaces, and generics with TypeScript, and discover time-saving best practices to use in your own work. What's inside Code samples for Angular 5, 6, and 7 Dependency injection Reactive programming The Angular Forms API About the Reader Written for intermediate web developers familiar with HTML, CSS, and JavaScript. About the Author Yakov Fain and Anton Moiseev are experienced trainers and web application developers. They have coauthored several books on software development. Table of Contents Introducing Angular The main artifacts of an Angular app Router basics Router advanced Dependency injection in Angular Reactive programming in Angular Laying out pages with Flex Layout Implementing component communications Change detection and component lifecycle Introducing the Forms API Validating forms Interacting with servers using HTTP Interacting with servers using the WebSocket protocol Testing Angular applications Maintaining app state with ngrx

Essential Angular

Essential Angular
Author: Victor Savkin
Publisher: Packt Publishing Ltd
Total Pages: 102
Release: 2017-05-31
Genre: Computers
ISBN: 1788291042

Essential Angular is a concise, complete overview of the key aspects of Angular, written by two Angular core contributors. The book covers the framework's mental model, its API, and the design principles behind it. It is fully up to date with the latest release of Angular. About This Book Written by two Angular core contributors A complete overview of the key aspects of Angular Up to date with the latest Angular release Who This Book Is For To get the most from this book, you should already have a good understanding of Angular and general web development. The book dives quickly into the core Angular systems without stepping through the basics. What You Will Learn Understand why and how to use JIT and AOT compilation in Angular Bootstrap and inject NgModules Learn about the component lifecycle Understand the two phases of Change Detection Visualize and parse the Injector tree Understand advanced Lazy Loading Integrate and run different testing strategies on your code In Detail Essential Angular is a concise, complete overview of the key aspects of Angular, written by two Angular core contributors. The book covers the framework's mental model, its API, and the design principles behind it. This book is fully up to date with the latest release of Angular. Essential Angular gives you a strong foundation in the core Angular technology. It will help you put all the concepts into the right places so you will have a good understanding of why the framework is the way it is. Read this book after you have toyed around with the framework, but before you embark on writing your first serious Angular application. This book covers concepts such as the differences between Just-In-Time (JIT) and Ahead-Of-Time (AOT) compilation in Angular, alongside NgModules, components and directives. It also goes into detail on Dependency Injection and Change Detection: essential skills for Angular developers to master. The book finishes with a look at testing, and how to integrate different testing methodologies in your Angular code. Style and approach Essential Angular is a complete overview of the key aspects of the latest release of Angular, written by two core Angular contributors. It goes far beyond a how-to-get-started guide and dives into the most important topics in modern Angular development at depth.

Angular 2 Cookbook

Angular 2 Cookbook
Author: Matt Frisbie
Publisher: Packt Publishing Ltd
Total Pages: 460
Release: 2017-01-20
Genre: Computers
ISBN: 1785887505

Discover over 70 recipes that provide the solutions you need to know to face every challenge in Angular 2 head on About This Book A first-rate reference guide with a clear structure and intuitive index that gives you as a developer exactly the information you want in exactly the way you want it Covers no legacy material from the outdated Angular release candidates; it is up-to-date with the latest release of Angular 2.4 All the code in the book is explicitly written out, and every piece of code shown is a step towards building a simple working example Who This Book Is For This book is for developers who are competent with JavaScript and are looking to dive headfirst into the TypeScript edition of Angular 2. This book is also geared towards developers with experience in Angular 1 who are looking to make the transition. What You Will Learn Understand how to best move an Angular 1 application to Angular 2 Build a solid foundational understanding of the core elements of Angular 2 such as components, forms, and services Gain an ability to wield complex topics such as Observables and Promises Properly implement applications utilizing advanced topics such as dependency injection Know how to maximize the performance of Angular 2 applications Understand the best ways to take an Angular 2 application from TypeScript in a code editor to a fully function application served on your site Get to know the best practices when organizing and testing a large Angular 2 application In Detail Angular 2 introduces an entirely new way to build applications. It wholly embraces all the newest concepts that are built into the next generation of browsers, and it cuts away all the fat and bloat from Angular 1. This book plunges directly into the heart of all the most important Angular 2 concepts for you to conquer. In addition to covering all the Angular 2 fundamentals, such as components, forms, and services, it demonstrates how the framework embraces a range of new web technologies such as ES6 and TypeScript syntax, Promises, Observables, and Web Workers, among many others. This book covers all the most complicated Angular concepts and at the same time introduces the best practices with which to wield these powerful tools. It also covers in detail all the concepts you'll need to get you building applications faster. Oft-neglected topics such as testing and performance optimization are widely covered as well. A developer that reads through all the content in this book will have a broad and deep understanding of all the major topics in the Angular 2 universe. Style and approach This book follows a cookbook approach—each recipe presents a unique problem to which the solution is presented in a clear, concise, and manner step-by-step manner. With practical hands-on guidance in each and every recipe, you'll be able to get to grips with the concepts.

Working Effectively with Legacy Code

Working Effectively with Legacy Code
Author: Michael Feathers
Publisher: Prentice Hall Professional
Total Pages: 457
Release: 2004-09-22
Genre: Computers
ISBN: 0132931753

Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform—with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.