Book Image

Automated Testing in Microsoft Dynamics 365 Business Central - Second Edition

Book Image

Automated Testing in Microsoft Dynamics 365 Business Central - Second Edition

Overview of this book

Dynamics 365 Business Central is a cloud-based SaaS ERP proposition from Microsoft. With development practices becoming more formal, implementing changes or new features is not as simple as it used to be back when Dynamics 365 Business Central was called Navigator, Navision Financials, or Microsoft Business Solutions-Navision, and the call for test automation is increasing. This book will show you how to leverage the testing tools available in Dynamics 365 Business Central to perform automated testing. Starting with a quick introduction to automated testing and test-driven development (TDD), you'll get an overview of test automation in Dynamics 365 Business Central. You'll then learn how to design and build automated tests and explore methods to progress from requirements to application and testing code. Next, you'll find out how you can incorporate your own as well as Microsoft tests into your development practice. With the addition of three new chapters, this second edition covers in detail how to construct complex scenarios, write testable code, and test processes with incoming and outgoing calls. By the end of this book, you'll be able to write your own automated tests for Microsoft Business Central.
Table of Contents (22 chapters)
1
Section 1: Automated Testing – A General Overview
4
Section 2:Automated Testing in Microsoft Dynamics 365 Business Central
7
Section 3:Designing and Building Automated Tests for Microsoft Dynamics 365 Business Central
12
Section 4:Integrating Automated Tests in Your Daily Development Practice
15
Section 5:Advanced Topics
19
Section 6:Appendix

Organizing your extensions

Starting with a new project, like we did with the LookupValue extension, I tend to have both the application and the test code in one VS Code folder just for one reason: practicality. This way, I only have to deploy one extension when verifying my work after an addition or change in either application or test code – or both, although TDD teaches us to do one or the other. This helps me to get my work done more efficiently.

Once the code is ready, however, we need to make sure that the application and test code end up in separate extensions – but still in the same repo – with the logical consequence that the test app will have a dependency on the application app. This way, we prevent tests from ending up, and possibly getting run, in a production environment. For this very reason, standard CRONUS does not contain the standard test codeunits – and test helper libraries.

Sure, if test codeunits are run within the test isolation...