Skip to content

Commit 0ce4553

Browse files
authored
Merge pull request #4198 from Sergio0694/testing/mvvm-toolkit-sg
Fix and enable MVVM Toolkit source generator unit tests
2 parents 984fe18 + 33bdd30 commit 0ce4553

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

UnitTests/UnitTests.SourceGenerators/Test_SourceGeneratorsDiagnostics.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Linq;
1010
using Microsoft.CodeAnalysis;
1111
using Microsoft.CodeAnalysis.CSharp;
12+
using Microsoft.Toolkit.Mvvm.ComponentModel;
1213
using Microsoft.Toolkit.Mvvm.SourceGenerators;
1314
using Microsoft.VisualStudio.TestTools.UnitTesting;
1415

@@ -249,6 +250,7 @@ public partial class SampleViewModel
249250
private void VerifyGeneratedDiagnostics<TGenerator>(string source, params string[] diagnosticsIds)
250251
where TGenerator : class, ISourceGenerator, new()
251252
{
253+
Type observableObjectType = typeof(ObservableObject);
252254
Type validationAttributeType = typeof(ValidationAttribute);
253255

254256
SyntaxTree syntaxTree = CSharpSyntaxTree.ParseText(source);
@@ -271,6 +273,7 @@ from assembly in AppDomain.CurrentDomain.GetAssemblies()
271273

272274
Assert.IsTrue(resultingIds.SetEquals(diagnosticsIds));
273275

276+
GC.KeepAlive(observableObjectType);
274277
GC.KeepAlive(validationAttributeType);
275278
}
276279
}

UnitTests/UnitTests.SourceGenerators/UnitTests.SourceGenerators.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
<ItemGroup>
1717
<ProjectReference Include="..\..\Microsoft.Toolkit.Mvvm.SourceGenerators\Microsoft.Toolkit.Mvvm.SourceGenerators.csproj" />
18+
<ProjectReference Include="..\..\Microsoft.Toolkit.Mvvm\Microsoft.Toolkit.Mvvm.csproj" />
1819
</ItemGroup>
1920

2021
</Project>

build/build.cake

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,18 @@ Task("Test")
270270
ArgumentCustomization = arg => arg.Append($"-s {baseDir}/.runsettings /p:Platform=AnyCPU"),
271271
};
272272
DotNetCoreTest(file.FullPath, testSettings);
273+
}).DoesForEach(GetFiles(baseDir + "/**/UnitTests.SourceGenerators.csproj"), (file) =>
274+
{
275+
Information("\nRunning NetCore Source Generator Unit Tests");
276+
var testSettings = new DotNetCoreTestSettings
277+
{
278+
Configuration = configuration,
279+
NoBuild = true,
280+
Loggers = new[] { "trx;LogFilePrefix=VsTestResults" },
281+
Verbosity = DotNetCoreVerbosity.Normal,
282+
ArgumentCustomization = arg => arg.Append($"-s {baseDir}/.runsettings /p:Platform=AnyCPU"),
283+
};
284+
DotNetCoreTest(file.FullPath, testSettings);
273285
}).DeferOnError();
274286

275287
Task("UITest")

0 commit comments

Comments
 (0)