Business Central BC180 On Premise / Test environment

GeertsJ
Member Posts: 2
I am a (junior) developer in a Business Central development team, we want to set up a test environment to unittest our .al solutions. Via a Mastering BC book we find out that you have to include the following .app packages in your .alpackages folder:
Microsoft_Any.app
Microsoft_Library Assert.app
Microsoft_Library Variable Storage.app
Microsoft_System Application Test Library.app
Microsoft_Test Runner.app
Microsoft_Tests-TestLibraries.app
Then when we want to use Assert.AreEqual we see the error:
c:\work\BusinessCentral\Solution\BaseAppExt\Test\CustLedgerEntryTest.CodeUnit.al (116,13): error AL0118: The name 'Assert' does not exist in the current context.
If I download the symbols I get (no errors):
All reference symbols have been downloaded
When I inspect Microsoft_Tests-TestLibraries.app in VSCode I see at Codeunits the Codeunit Assert with id 130000, if I want to view it via Go to definition I get the error:
Object definition is not available.
In several links I Googled I think you should do Publish-NAVApp / Install-NAVApp via Powershell, but with several attempts to get this done, I have not yet succeeded.
Is there a clear description somewhere on how to activate such a test environment so that I can then use the Assert?
Microsoft_Any.app
Microsoft_Library Assert.app
Microsoft_Library Variable Storage.app
Microsoft_System Application Test Library.app
Microsoft_Test Runner.app
Microsoft_Tests-TestLibraries.app
Then when we want to use Assert.AreEqual we see the error:
c:\work\BusinessCentral\Solution\BaseAppExt\Test\CustLedgerEntryTest.CodeUnit.al (116,13): error AL0118: The name 'Assert' does not exist in the current context.
If I download the symbols I get (no errors):
All reference symbols have been downloaded
When I inspect Microsoft_Tests-TestLibraries.app in VSCode I see at Codeunits the Codeunit Assert with id 130000, if I want to view it via Go to definition I get the error:
Object definition is not available.
In several links I Googled I think you should do Publish-NAVApp / Install-NAVApp via Powershell, but with several attempts to get this done, I have not yet succeeded.
Is there a clear description somewhere on how to activate such a test environment so that I can then use the Assert?
0
Answers
-
[Topic moved from 'Testing' forum to 'NAV Three Tier' forum]
Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
We have found the solution!:
Suppose the following BC installation path is used: c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD.
Suppose the following BV service is used: BC180
Do the following steps in the exact order:
1] Start Administrator Business Central Administration Shell (run as administrator)
2] Run following (40 times Publish-NAVApp):
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\testframework\testlibraries\Any\microsoft_any.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\testframework\testlibraries\Assert\microsoft_library assert.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\testframework\testlibraries\variable storage\microsoft_library variable storage.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\System Application\test\microsoft_System Application Test Library.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-TestLibraries.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\testframework\TestRunner\Microsoft_Test Runner.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Library-NoTransactions.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Bank.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Cash Flow.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Cost Accounting.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-CRM integration.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Data Exchange.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Dimension.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-ERM.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Fixed Asset.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-General Journal.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Graph.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Integration.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Invoicing.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Job.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Local.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Marketing.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Misc.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Monitor Sensitive Fields.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Permissions.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Physical Inventory.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Prepayment.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Rapid Start.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Report.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Resource.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Reverse.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-SCM.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-SINGLESERVER.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-SMB.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-SMTP.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-TestLibraries.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Upgrade.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-User.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-VAT.app"
Publish-NAVApp -ServerInstance BC180 -Path "c:\install\Business Central\Dynamics.365.BC.23795.NL.DVD\Applications\BaseApp\Test\Microsoft_Tests-Workflow.app"
3] In Business Central Administration: activate your BC180 service, section Development, toggle "Enable Test Automation". Restart the service.
4] Start your Business Central On Premise envirionment: Extension Management. Install manually all the 40 extensions you have published.
5] In your app.json add:
"dependencies": [
{
"id": "23de40a6-dfe8-4f80-80db-d70f83ce8caf",
"publisher": "Microsoft",
"name": "Test Runner",
"version": "18.0.0.0"
},
{
"id": "5d86850b-0d76-4eca-bd7b-951ad998e997",
"publisher": "Microsoft",
"name": "Tests-TestLibraries",
"version": "18.0.0.0"
},
{
"id": "9856ae4f-d1a7-46ef-89bb-6ef056398228",
"publisher": "Microsoft",
"name": "System Application Test Library",
"version": "18.0.0.0"
},
{
"id": "5095f467-0a01-4b99-99d1-9ff1237d286f",
"publisher": "Microsoft",
"name": "Library Variable Storage",
"version": "18.0.0.0"
},
{
"id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b",
"publisher": "Microsoft",
"name": "Any",
"version": "18.0.0.0"
},
{
"id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14",
"publisher": "Microsoft",
"name": "Library Assert",
"version": "18.0.0.0"
}
],
6] Download Symbols in VSCode, (re)compile and (re)publish0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions