AL

Build as a Service for Dynamics 365 BC & NAV now released!

We’re in an era where we are expected to deliver software more often and to deliver it faster, in other words, we’re expected to be agile.
In order to be agile, we need continuous integration, continuous integration is a practice where members of a team integrate their work several times a day into a shared mainline.
Each integration should be verified by a build (including tests) to detect integration errors as quickly as possible.
This is just a brief explanation of continuous integration as I just want to set the stage for the official release of my generic build service called NAVBaaS!

(more…)

AL

Generating AL symbols at compile time

When running AL and C/SIDE side by side you always want to have your symbols up to date, this can be done by starting up finsql.exe with the parameter generatesymbolreference=yes as described here, but it’s also possible to generate symbols at compile time when using the Compile-NAVApplicationObject cmdlet.
(more…)

AL

How do I: test code that calls external web services

With the current test framework and it’s limitations it can sometimes be hard to find a way to test your code, this gets even worse when external web services are called.
I’ve seen a number of (bad) workarounds in the last few months varying from calling a nonexistent endpoint to a self-hosted web service to test against.
Of course those workarounds do their job but we can do better than that, and let’s not forget tests must be independent of external components!

Ideally we would simply mock this web service call and return some data we can test against, but not in (C/)AL right?
(more…)

AL

Running Automated Tests From PowerShell

Automating your automated tests is just as important as creating and maintaining them, you want to be able to run your tests at least once a day and ideally multiple times a day or even after every check-in.

All we have to invoke these automated tests is PowerShell but there’s another challenge because the automated tests require a user interface and the Invoke-NAVCodeunit cmdlet does not support this.
(more…)