Book Image

.Automated Testing in Microsoft Dynamics 365 Business Central

By : Luc van Vugt
Book Image

.Automated Testing in Microsoft Dynamics 365 Business Central

By: Luc van Vugt

Overview of this book

Dynamics 365 Business Central is the new cloud-based SaaS ERP proposition from Microsoft. It’s not as simple as it used to be way back when it was called Navigator, Navision Financials, or Microsoft Business Solutions-Navision. Our development practices are becoming more formal, and with this, the call for test automation is pressing on us. This book will teach you to leverage testing tools available with Dynamics 365 Business Central to perform automated testing. We’ll begin with a quick introduction to automated testing, followed by an overview of test automation in Dynamics 365 Business Central. Then you’ll learn to design and build automated tests and we’ll go through some efficient methods to get from requirements to application and testing code. Lastly, you’ll learn to incorporate your own and Microsoft tests into your daily development practice. By the end of the book, you’ll be able to write your own automated tests for Dynamics 365 Business Central.
Table of Contents (17 chapters)
Free Chapter
1
Section 1: Automated Testing - A General Overview
3
Section 2: Automated Testing in Microsoft Dynamics 365 Business Central
6
Section 3: Designing and Building Automated Tests for Microsoft Dynamics 365 Business Central
11
Section 4: Integrating Automated Tests in Your Daily Development Practice

Making your code testable

We were looking at getting standard tests fixed and we did. But at the same time we did overlook that fixing them made a pair of our own tests fall over. Do you see?

We have two failing tests and in the same codeunit LookupValue Posting:

  • PostSalesOrderWithNoLookupValue
  • PostWarehouseShipmentFromSalesOrderWithNoLookupValue

This is their error text:

Microsoft.Dynamics.Nav.Types.Exceptions.NavNCLAssertErrorException: An error was expected inside an ASSERTERROR statement.\   at Microsoft.Dynamics.Nav.Runtime.NavMethodScope.AssertError(Action body)\   at Microsoft.Dynamics.Nav.BusinessApplication.C

Without debugging, this information already tells me a whole story. This is confirmed by the code of the first test method:

procedure PostSalesOrderWithNoLookupValue();
//[FEATURE] LookupValue Posting Sales Document
var
SalesHeader: Record "Sales Header...