Skip to main content

How to use Code Coverage effectively: Part 1/2

:: Optimizing Code Coverage Page ::

   As a Dynamics NAV developer, we all are familiar with this veteran tool for code tracking, The Code Coverage. This tool is very different from debugging as we don’t halt the transaction or process with breakpoints. It simply track all the codes executed during its capturing process from start to stop. It tracks all the code lines and count the line hit during the execution.

   In Dynamics NAV previous versions like 2009 SP1 & 2009 R2 it was a great tool for developers to fix calculation issues which doesn't cause runtime error, Third party tool integrations or Tracking codes for developing new functionality in a module.

   It feels gloomy to realize how this tool has lost its usability in recent versions. Recently I encountered G/L CONSISTENCY error in a transaction which is nothing but a calculation traggic in one of G/L entry. I tried debugger but unfortunately it didn’t work for me. Then I recalled, our this old friend but when it introduced to its new GUI, I was completely shattered. . ..

Code Coverage Standard Page

This new Code Coverage UI as page object doesn't help users much, code readability is pathetic as the code lines hit are not highlighted. I tried Export to XML in hope of some miracle but this too is 😕 never mind. Print & Send to Microsoft Excel failed to export more than 5000 lines. As Code Coverage shows all the functions and its code lines from an object regardless it is hit or not and causes increased numbers of code coverage lines, which is hard to track. 

This blog includes information on this issue and how I customized/optimised it to make it work and accomplish my task. I hope if you are trying to use Code Coverage in recent NAV versions this might help you.

After few code tweaking, I transformed Code Coverage page to look as below. 😂 Ya'ay!!!

Code Covergae Modified Page



To achieve this I added the following simple to code in Page 9990 under SetStyles function.
Code Coverage Page SetStyles Function


Now the Code Coverage page is more convenient for code readability but our job is not done yet. .  ..

Up Next on Part 2 >> 

1. Fixing Export to Excel.

2. Comparing Coverage lines from multiple sessions. 

Comparing Coverage lines from multiple sessions preview

Comments

Post a Comment

Please let me know about your thought on this:

Popular posts from this blog

C/AL Code support in Notepad++

C/AL Code support in Notepad++ Normally NAV object (.txt file) open as plain text in Notepad++ without no keyword highlighting as below. Which completely different from our native Developer Environment thus this editor is not friendly for code readability. But with importing a user defined C/AL language or UDL file in Notepad++, C/AL codes can be supported as other build-in support languages like Java or C#. Same file opened in Notepad++ after importing the UDL file. Now keywords are highlighted in multiple colours which is customizable.

Explore Metadata, User Code & User AL Code of Dynamics NAV Virtual Tables

  Dynamics NAV has System or Virtual tables, which is not visible in Object Explorer. Object ID range starting from 2000000001.. 2000000200 and Object Type as Table. What is Virtual Tables?   "A virtual table contains system information. You cannot change the data in virtual tables. You can only read the information. Virtual tables are not stored in the database but are computed by Microsoft Dynamics NAV at run time. Because virtual tables are not stored in the database, you cannot view them directly. To view a virtual table, you must create a list page based on the virtual table." List of Virtual Tables in Dynamics NAV 2016 Object Type Object ID Name Table 2000000001 Object Table 2000000004 Permission Set Table 2000000005 Permission Table 2000000006 Company Table 2000000007 Date Table 2000000009 Session Table 2000000020 Drive Table 2000000022 File

How to use Code Coverage effectively: Part 2/2

:: Customizing Code Coverage ::    Before beginning this session, if you are new to code coverage, let's have a quick overview. What is Code Coverage?    Code coverage is the means of being able to track which part of the application code has been exercised during an activity. In Microsoft Dynamics NAV, code coverage is recorded by C/AL code line and specifies if a code line was exercised by the activity and the number of times the line of code was executed . How to open Code Coverage?    path: /Departments/Administration/Application Tools    click here open  Code Coverage  directly. How to Start Code Coverage Monitoring?     Before beginning your process open Code Coverage window and click Start. " This starts the code coverage engine, and code coverage is captured. However, you will not be able to see any updated information until you choose Refresh or Stop . The information contains coverage of objects, triggers and functions, and individual lines o

.al file preview in Windows Explorer preview pane

D on’t like to wait for Visual Studio Code to boot up when you’re looking for a specific .al file? With this trick, you can preview .al files in Windows 10 without opening. .  .. What is File Explorer Preview Pane? First, let's check out the preview pane in File Explorer.  Open File Explorer.  Click on the View tab and then select Preview pane.  Click on a file you wish to view, such as a Word document, Excel sheet, PowerPoint presentation, PDF, or image. The file appears in the preview pane. Increase or decrease the size or width of the file by dragging the separation bar left or right. Modification required to Preview .al file in File Explorer Open Windows Registry Editor (regedit).  Find  Computer\HKEY_CLASSES_ROOT\.al Add New String Value (Right click), Name :  PerceivedType , Value data : text or Download this .reg file and double click to Merge it.  (link below) Download If prompted, click/tap on  Run ,  Yes  ( UAC ),  Yes , and  OK  to ap