Skip to content

Commit 27c62ea

Browse files
authored
Merge pull request #31 from Umplify/issue_30
Issue 30
2 parents 49fedf3 + 05e41e3 commit 27c62ea

File tree

3 files changed

+26
-8
lines changed

3 files changed

+26
-8
lines changed

src/Abstracts/TestBed.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
using System;
2+
using System.Threading.Tasks;
23
using Xunit.Abstractions;
34

45
namespace Xunit.Microsoft.DependencyInjection.Abstracts
56
{
6-
public abstract class TestBed<TFixture> : IDisposable, IClassFixture<TFixture>
7+
public abstract class TestBed<TFixture> : IDisposable, IClassFixture<TFixture>, IAsyncDisposable
78
where TFixture: class
89
{
910
protected readonly ITestOutputHelper _testOutputHelper;
@@ -43,6 +44,14 @@ public void Dispose()
4344
GC.SuppressFinalize(this);
4445
}
4546

46-
protected abstract void Clear();
47+
protected abstract void Clear();
48+
49+
public async ValueTask DisposeAsync()
50+
{
51+
await DisposeAsyncCore();
52+
GC.SuppressFinalize(this);
53+
}
54+
55+
protected abstract ValueTask DisposeAsyncCore();
4756
}
4857
}

src/Abstracts/TestBedFixture.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
using Microsoft.Extensions.Logging;
44
using System;
55
using System.IO;
6+
using System.Threading.Tasks;
67
using Xunit.Abstractions;
78
using Xunit.Microsoft.DependencyInjection.Logging;
89

910
namespace Xunit.Microsoft.DependencyInjection.Abstracts
1011
{
11-
public abstract class TestBedFixture : IDisposable
12+
public abstract class TestBedFixture : IDisposable, IAsyncDisposable
1213
{
1314
private readonly IServiceCollection _services;
1415
private IServiceProvider _serviceProvider;
@@ -94,6 +95,14 @@ public void Dispose()
9495
// Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method
9596
Dispose(disposing: true);
9697
GC.SuppressFinalize(this);
97-
}
98+
}
99+
100+
public async ValueTask DisposeAsync()
101+
{
102+
await DisposeAsyncCore();
103+
GC.SuppressFinalize(this);
104+
}
105+
106+
protected abstract ValueTask DisposeAsyncCore();
98107
}
99108
}

src/Xunit.Microsoft.DependencyInjection.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.9" />
9-
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.9" />
8+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.10" />
9+
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.10" />
1010
<PackageReference Include="xunit.abstractions" Version="2.0.3" />
11-
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.9" />
12-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.9" />
11+
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.10" />
12+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.10" />
1313
<PackageReference Include="xunit.core" Version="2.4.1" />
1414
</ItemGroup>
1515
<ItemGroup>

0 commit comments

Comments
 (0)