Skip to content

Commit da26488

Browse files
authored
Refactoring implement test result reporter interface into acc unit (#44)
* Output with TestResultReporters * remove x86/x64 => compiled for any cpu * use azure devops pipeline
1 parent d6cabcf commit da26488

65 files changed

Lines changed: 625 additions & 543 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

access-add-in/AccUnitLoader.accda

-444 KB
Binary file not shown.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
if exist .\lib\ (
2+
del /Q .\lib\*
3+
) else (
4+
mkdir .\lib\
5+
)
6+
copy .\..\source\AccUnit\bin\Release\AccessCodeLib.*.tlb .\lib\
7+
copy .\..\source\AccUnit\bin\Release\AccessCodeLib.*.dll .\lib\
8+
9+
timeout 3

access-add-in/_CopyAccUnitLibFilesFromReleaseX64.cmd

Lines changed: 0 additions & 18 deletions
This file was deleted.

access-add-in/_CopyAccUnitLibFilesFromReleaseX86.cmd

Lines changed: 0 additions & 17 deletions
This file was deleted.

access-add-in/source/modules/AccUnitLoaderConfigProcedures.bas

Lines changed: 19 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -120,36 +120,29 @@ On Error Resume Next
120120

121121
End Sub
122122

123-
124123
Public Property Get AccUnitFileNames() As Variant()
125124

126125
AccUnitFileNames = Array( _
127126
ACCUNIT_TYPELIB_FILE, _
128127
ACCUNIT_DLL_FILE, _
129128
"AccessCodeLib.Common.Tools.dll", _
130-
"AccessCodeLib.Common.VBIDETools.dll", _
131-
"Microsoft.Vbe.Interop.dll")
129+
"AccessCodeLib.Common.VBIDETools.dll")
132130

133131
End Property
134132

135-
Public Sub ExportAccUnitFiles(Optional ByVal lBit As Long = 0)
133+
Public Sub ExportAccUnitFiles()
136134

137135
Dim accFileName As Variant
138136
Dim sBit As String
139137
Dim DllPath As String
140138

141139
On Error GoTo HandleErr
142140

143-
If lBit = 0 Then
144-
lBit = GetCurrentVbaBitSystem
145-
End If
146-
147-
sBit = CStr(lBit)
148141
DllPath = CurrentAccUnitConfiguration.AccUnitDllPath
149142

150143
With CurrentApplication.Extensions("AppFile")
151144
For Each accFileName In AccUnitFileNames
152-
.CreateAppFile accFileName, DllPath & accFileName, "BitInfo", sBit
145+
.CreateAppFile accFileName, DllPath & accFileName
153146
Next
154147
End With
155148

@@ -164,46 +157,34 @@ HandleErr:
164157

165158
End Sub
166159

167-
Public Sub ImportAccUnitFiles(Optional ByVal lBit As Long = 0)
160+
Public Sub ImportAccUnitFiles()
168161

169162
Dim accFileName As Variant
170-
Dim sBit As String
171163
Dim DllPath As String
172164

173-
If lBit = 0 Then
174-
lBit = GetCurrentVbaBitSystem
175-
End If
176-
177-
sBit = CStr(lBit)
178165
DllPath = CurrentAccUnitConfiguration.AccUnitDllPath
179166

180-
If lBit = 32 Then
181-
DllPath = Replace(DllPath, "x64", "x86")
182-
ElseIf lBit = 64 Then
183-
DllPath = Replace(DllPath, "x86", "x64")
184-
End If
185-
186167
With CurrentApplication.Extensions("AppFile")
187168
For Each accFileName In AccUnitFileNames
188-
.SaveAppFile accFileName, DllPath & accFileName, True, , , "BitInfo", sBit
169+
.SaveAppFile accFileName, DllPath & accFileName, True
189170
Next
190171
End With
191172

192173
End Sub
193-
194-
Public Function GetCurrentVbaBitSystem() As Long
195-
196-
#If VBA7 Then
197-
#If Win64 Then
198-
GetCurrentVbaBitSystem = 64
199-
#Else
200-
GetCurrentVbaBitSystem = 32
201-
#End If
202-
#Else
203-
GetCurrentVbaBitSystem = 32
204-
#End If
205-
206-
End Function
174+
'
175+
'Private Function GetCurrentVbaBitSystem() As Long
176+
'
177+
'#If VBA7 Then
178+
'#If Win64 Then
179+
' GetCurrentVbaBitSystem = 64
180+
'#Else
181+
' GetCurrentVbaBitSystem = 32
182+
'#End If
183+
'#Else
184+
' GetCurrentVbaBitSystem = 32
185+
'#End If
186+
'
187+
'End Sub
207188

208189
Public Function AutomatedTestRunVCS() As Variant
209190

access-add-in/source/modules/AccUnitLoaderFactory.cls

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ Option Explicit
2020
Private m_AccUnitFactory As Object
2121
Private m_MatchResultCollector As Object
2222

23+
Public Enum TestReportOutput
24+
DebugPrint = 1
25+
LogFile = 2
26+
End Enum
27+
2328
Private Sub Class_Initialize()
2429
'
2530
End Sub
@@ -111,21 +116,21 @@ Public Property Get TestSuite(Optional ByVal TestReportOutputTo As TestReportOut
111116
Set TestSuite = New TestSuite
112117

113118
With TestSuite
114-
.Init AccessTestSuite, New TestResultCollector
119+
.Init AccessTestSuite
115120
End With
116121

117-
AddTestResultReporter TestSuite, TestReportOutputTo
122+
AppendTestResultReporter TestSuite, TestReportOutputTo
118123

119124
End Property
120125

121-
Private Sub AddTestResultReporter(ByVal TestSuite As TestSuite, ByVal TestReportOutputTo As TestReportOutput)
126+
Private Sub AppendTestResultReporter(ByVal TestSuite As TestSuite, ByVal TestReportOutputTo As TestReportOutput)
122127

123128
If (TestReportOutputTo And TestReportOutput.DebugPrint) = TestReportOutput.DebugPrint Then
124-
TestSuite.AddTestResultReporter New DebugPrintTestResultReporter
129+
TestSuite.AppendTestResultReporter New DebugPrintTestResultReporter
125130
End If
126131

127132
If (TestReportOutputTo And TestReportOutput.LogFile) = TestReportOutput.LogFile Then
128-
TestSuite.AddTestResultReporter New LogFileTestResultReporter
133+
TestSuite.AppendTestResultReporter New LogFileTestResultReporter
129134
End If
130135

131136
End Sub

access-add-in/source/modules/AccUnitLoaderRibbonCallBacks.bas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ Public Sub RemoveTestEnvironmentDelTestsRCB(Optional RibbonControl As Object)
4141
End Sub
4242

4343
Public Sub TestSuiteRunAllFromVBProjectRCB(Optional RibbonControl As Object)
44-
GetAccUnitFactory.TestSuite.AddFromVBProject.Run
4544
SetFocusToImmediateWindow
45+
GetAccUnitFactory.TestSuite.AddFromVBProject.Run
4646
End Sub
4747

4848
Private Sub SetFocusToImmediateWindow()

access-add-in/source/modules/DebugPrintTestResultReporter.cls

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,31 @@ Attribute VB_Exposed = False
1717
Option Compare Text
1818
Option Explicit
1919

20-
Implements ITestResultReporter
20+
Implements AccUnit.ITestResultReporter
2121

22-
Private WithEvents m_TestResultCollector As TestResultCollector
22+
Private WithEvents m_TestResultCollector As AccUnit.TestResultCollector
2323
Attribute m_TestResultCollector.VB_VarHelpID = -1
2424

25-
Private Property Set ITestResultReporter_TestResultCollector(ByVal TestResultCollectorToListen As TestResultCollector)
26-
Set TestResultCollector = TestResultCollectorToListen
25+
Private Property Get ITestResultReporter_TestResultCollector() As AccUnit.ITestResultCollector
26+
Set ITestResultReporter_TestResultCollector = m_TestResultCollector
2727
End Property
2828

29-
Private Property Set TestResultCollector(ByVal TestResultCollectorToListen As TestResultCollector)
29+
Private Property Set ITestResultReporter_TestResultCollector(ByVal TestResultCollectorToListen As AccUnit.ITestResultCollector)
3030
Set m_TestResultCollector = TestResultCollectorToListen
3131
End Property
3232

33+
Private Sub m_TestResultCollector_NewTestResult(ByVal Result As AccUnit.ITestResult)
34+
'
35+
End Sub
36+
37+
Private Sub m_TestResultCollector_TestSuiteFinished(ByVal Summary As AccUnit.ITestSummary)
38+
'
39+
End Sub
40+
41+
Private Sub m_TestResultCollector_TestSuiteStarted(ByVal TestSuite As AccUnit.ITestSuite)
42+
'
43+
End Sub
44+
3345
Private Sub m_TestResultCollector_TestTraceMessage(ByVal Message As String, ByVal CodeCoverageTracker As CodeCoverageTracker)
3446
If Message Like "* [*][*][*]*" Then
3547
Message = Replace(Message, vbNewLine, vbTab)
@@ -43,6 +55,7 @@ Private Sub m_TestResultCollector_TestTraceMessage(ByVal Message As String, ByVa
4355
Debug.Print CodeCoverageTracker.GetReport()
4456
End If
4557
End If
58+
4659
End Sub
4760

4861
Private Sub m_TestResultCollector_PrintSummary(ByVal TestSummary As AccUnit.ITestSummary, ByVal PrintTestResults As Boolean)

access-add-in/source/modules/ITestResultReporter.cls

Lines changed: 0 additions & 27 deletions
This file was deleted.

access-add-in/source/modules/LogFileTestResultReporter.cls

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,46 @@ Option Explicit
1919

2020
Private Const LineSeperatorLen As Long = 40
2121

22-
Implements ITestResultReporter
22+
Implements AccUnit.ITestResultReporter
2323
Private m_FileNo As Long
2424

25-
Private WithEvents m_TestResultCollector As TestResultCollector
25+
Private WithEvents m_TestResultCollector As AccUnit.TestResultCollector
2626
Attribute m_TestResultCollector.VB_VarHelpID = -1
2727

2828
Private Sub Class_Terminate()
2929
CloseFile
3030
End Sub
3131

32-
Private Property Set ITestResultReporter_TestResultCollector(ByVal TestResultCollectorToListen As TestResultCollector)
32+
Private Property Get ITestResultReporter_TestResultCollector() As AccUnit.ITestResultCollector
33+
Set ITestResultReporter_TestResultCollector = m_TestResultCollector
34+
End Property
35+
36+
Private Property Set ITestResultReporter_TestResultCollector(ByVal TestResultCollectorToListen As ITestResultCollector)
3337
Set TestResultCollector = TestResultCollectorToListen
3438
End Property
3539

3640
Private Property Set TestResultCollector(ByVal TestResultCollectorToListen As TestResultCollector)
3741
Set m_TestResultCollector = TestResultCollectorToListen
3842
End Property
3943

40-
Private Sub m_TestResultCollector_TestSuiteFinished(ByVal TestSummary As AccUnit.ITestSummary)
41-
PrintSummary TestSummary, True
42-
CloseFile
43-
End Sub
44-
4544
Private Sub m_TestResultCollector_TestSuiteStarted(ByVal TestSuite As AccUnit.ITestSuite)
4645
PrintToFile String(LineSeperatorLen, "#")
4746
PrintToFile Format(Now(), "yyyy-mm-dd hh:nn:ss")
4847
End Sub
4948

49+
Private Sub m_TestResultCollector_TestTraceMessage(ByVal Message As String, ByVal CodeCoverageTracker As AccUnit.ICodeCoverageTracker)
50+
'
51+
End Sub
52+
53+
Private Sub m_TestResultCollector_NewTestResult(ByVal Result As AccUnit.ITestResult)
54+
'
55+
End Sub
56+
57+
Private Sub m_TestResultCollector_TestSuiteFinished(ByVal TestSummary As AccUnit.ITestSummary)
58+
PrintSummary TestSummary, True
59+
CloseFile
60+
End Sub
61+
5062
Private Sub m_TestResultCollector_PrintSummary(ByVal TestSummary As AccUnit.ITestSummary, ByVal PrintTestResults As Boolean)
5163
PrintSummary TestSummary, PrintTestResults
5264
End Sub

0 commit comments

Comments
 (0)