Skip to content

Commit 38ccc63

Browse files
:|
1 parent e62e15f commit 38ccc63

4 files changed

Lines changed: 61 additions & 0 deletions

File tree

.github/workflows/ios_navigation_tests.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,15 @@ jobs:
7373
#run: dotnet build TransactionProcessor.Mobile/TransactionProcessor.Mobile.csproj -f net9.0-ios -c Release --no-restore
7474
run: dotnet build TransactionProcessor.Mobile/TransactionProcessor.Mobile.csproj -c Release -f net9.0-ios -r iossimulator-x64 /p:EnableAssemblyILStripping=false /p:EnableSymbolStrip=false /p:LinkMode=None
7575

76+
- name: Build TestCategoryLister
77+
run: |
78+
dotnet build TransactionProcessor.Mobile.UiTests/TransactionProcessor.Mobile.UiTests.csproj -c Debug --no-restore
79+
dotnet build TestCategoryLister/TestCategoryLister.csproj --configuration Release
80+
81+
- name: Run CategoryListerTool on UI Tests
82+
run: |
83+
dotnet TestCategoryLister/TestCategoryLister/bin/Release/net9.0/TestCategoryLister.dll TransactionProcessor.Mobile.UiTests/bin/Debug/net9.0/TransactionProcessor.Mobile.UiTests.dll
84+
7685
- name: Run iOS Navigation Tests
7786
run: |
7887
dotnet build TransactionProcessor.Mobile.UiTests/TransactionProcessor.Mobile.UiTests.csproj -c Debug --no-restore

TestCategoryLister/Program.cs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System;
2+
using System.Linq;
3+
using System.Reflection;
4+
using NUnit.Framework;
5+
6+
class Program
7+
{
8+
static void Main(string[] args)
9+
{
10+
if (args.Length != 1)
11+
{
12+
Console.WriteLine("Usage: dotnet run <path-to-test-dll>");
13+
return;
14+
}
15+
16+
var path = args[0];
17+
var asm = Assembly.LoadFrom(path);
18+
19+
foreach (var type in asm.GetTypes())
20+
{
21+
foreach (var method in type.GetMethods())
22+
{
23+
var testAttr = method.GetCustomAttribute<TestAttribute>();
24+
if (testAttr != null)
25+
{
26+
var categories = method.GetCustomAttributes<CategoryAttribute>()
27+
.Select(a => a.Name)
28+
.ToList();
29+
30+
Console.WriteLine($"{type.FullName}.{method.Name} - Categories: {(categories.Count == 0 ? "None" : string.Join(", ", categories))}");
31+
}
32+
}
33+
}
34+
}
35+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<OutputType>Exe</OutputType>
4+
<TargetFramework>net9.0</TargetFramework>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<PackageReference Include="NUnit" Version="3.13.3" />
8+
</ItemGroup>
9+
</Project>

TransactionProcessor.Mobile.sln

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TransactionProcessor.Mobile
1515
EndProject
1616
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TransactionProcessor.Mobile.UITests", "TransactionProcessor.Mobile.UITests\TransactionProcessor.Mobile.UITests.csproj", "{E892CDC5-7DDF-4A0A-B8DB-AAC2DE758E56}"
1717
EndProject
18+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestCategoryLister", "TestCategoryLister\TestCategoryLister.csproj", "{A9557544-11B0-4718-A52D-8D513C9DD619}"
19+
EndProject
1820
Global
1921
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2022
Debug|Any CPU = Debug|Any CPU
@@ -26,6 +28,7 @@ Global
2628
{6BE81803-4FDB-4900-8ED4-971A6AD4140D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
2729
{6BE81803-4FDB-4900-8ED4-971A6AD4140D}.Release|Any CPU.ActiveCfg = Release|Any CPU
2830
{6BE81803-4FDB-4900-8ED4-971A6AD4140D}.Release|Any CPU.Build.0 = Release|Any CPU
31+
{6BE81803-4FDB-4900-8ED4-971A6AD4140D}.Release|Any CPU.Deploy.0 = Release|Any CPU
2932
{93C672C9-E5CA-4AE5-A190-9FF15B28F318}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
3033
{93C672C9-E5CA-4AE5-A190-9FF15B28F318}.Debug|Any CPU.Build.0 = Debug|Any CPU
3134
{93C672C9-E5CA-4AE5-A190-9FF15B28F318}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -38,6 +41,10 @@ Global
3841
{E892CDC5-7DDF-4A0A-B8DB-AAC2DE758E56}.Debug|Any CPU.Build.0 = Debug|Any CPU
3942
{E892CDC5-7DDF-4A0A-B8DB-AAC2DE758E56}.Release|Any CPU.ActiveCfg = Release|Any CPU
4043
{E892CDC5-7DDF-4A0A-B8DB-AAC2DE758E56}.Release|Any CPU.Build.0 = Release|Any CPU
44+
{A9557544-11B0-4718-A52D-8D513C9DD619}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45+
{A9557544-11B0-4718-A52D-8D513C9DD619}.Debug|Any CPU.Build.0 = Debug|Any CPU
46+
{A9557544-11B0-4718-A52D-8D513C9DD619}.Release|Any CPU.ActiveCfg = Release|Any CPU
47+
{A9557544-11B0-4718-A52D-8D513C9DD619}.Release|Any CPU.Build.0 = Release|Any CPU
4148
EndGlobalSection
4249
GlobalSection(SolutionProperties) = preSolution
4350
HideSolutionNode = FALSE
@@ -47,6 +54,7 @@ Global
4754
{93C672C9-E5CA-4AE5-A190-9FF15B28F318} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
4855
{327D1FDB-E953-4501-9DED-193EF75148E1} = {7AB22349-8BB9-41D3-A40F-268DFC30FD0C}
4956
{E892CDC5-7DDF-4A0A-B8DB-AAC2DE758E56} = {7AB22349-8BB9-41D3-A40F-268DFC30FD0C}
57+
{A9557544-11B0-4718-A52D-8D513C9DD619} = {7AB22349-8BB9-41D3-A40F-268DFC30FD0C}
5058
EndGlobalSection
5159
GlobalSection(ExtensibilityGlobals) = postSolution
5260
SolutionGuid = {4A92260C-922A-4553-A4DE-94C3BE3BA20F}

0 commit comments

Comments
 (0)