diff --git a/src/contrib/testkits/Akka.TestKit.Xunit2/TestKit.cs b/src/contrib/testkits/Akka.TestKit.Xunit2/TestKit.cs
index 393f553df35..cdb70c8231e 100644
--- a/src/contrib/testkits/Akka.TestKit.Xunit2/TestKit.cs
+++ b/src/contrib/testkits/Akka.TestKit.Xunit2/TestKit.cs
@@ -21,7 +21,7 @@ namespace Akka.TestKit.Xunit2
/// This class represents an Akka.NET TestKit that uses xUnit
/// as its testing framework.
///
- public class TestKit : TestKitBase, IAsyncLifetime
+ public class TestKit : TestKitBase, IAsyncLifetime, IDisposable
{
private class PrefixedOutput : ITestOutputHelper
{
@@ -132,8 +132,19 @@ public TestKit(string config, ITestOutputHelper output = null)
///
protected virtual async Task AfterAllAsync()
{
+#pragma warning disable CS0618
+ AfterAll();
+#pragma warning restore CS0618
await ShutdownAsync();
}
+
+ ///
+ /// This method is called when a test ends.
+ ///
+ [Obsolete("AfterAll() is deprecated, please use AfterAllAsync() instead")]
+ protected virtual void AfterAll()
+ {
+ }
///
/// Initializes a new used to log messages.
@@ -169,6 +180,29 @@ public virtual Task InitializeAsync()
public virtual async Task DisposeAsync()
{
await AfterAllAsync();
+#pragma warning disable CS0618
+ Dispose();
+#pragma warning restore CS0618
+ }
+
+ ///
+ /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+ ///
+ ///
+ /// if set to true the method has been called directly or indirectly by a user's code.
+ /// Managed and unmanaged resources will be disposed.
if set to false the method
+ /// has been called by the runtime from inside the finalizer and only unmanaged resources can
+ /// be disposed.
+ ///
+ [Obsolete("Dispose(bool) is deprecated, please use DisposeAsync() instead")]
+ protected virtual void Dispose(bool disposing)
+ {
+ }
+
+ [Obsolete("Dispose() is obsolete, please use DisposeAsync() instead")]
+ public void Dispose()
+ {
+ Dispose(true);
}
}
}