mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Replaced RetryFact with xRetry's RetryFact
This commit is contained in:
@@ -3,6 +3,7 @@ using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Chrome;
|
||||
using OpenQA.Selenium.Support.Extensions;
|
||||
using System.Diagnostics;
|
||||
using xRetry;
|
||||
|
||||
namespace Berufsschule_HAM.E2ETests;
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="xRetry" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Using Include="Xunit" />
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Chrome;
|
||||
using System.Diagnostics;
|
||||
using xRetry;
|
||||
|
||||
namespace Berufsschule_HAM.E2ETests;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Chrome;
|
||||
using SeleniumExtras.WaitHelpers;
|
||||
using System.Diagnostics;
|
||||
using xRetry;
|
||||
|
||||
namespace Berufsschule_HAM.E2ETests;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Chrome;
|
||||
using SeleniumExtras.WaitHelpers;
|
||||
using System.Diagnostics;
|
||||
using xRetry;
|
||||
|
||||
namespace Berufsschule_HAM.E2ETests;
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Chrome;
|
||||
using System.Diagnostics;
|
||||
using xRetry;
|
||||
|
||||
namespace Berufsschule_HAM.E2ETests;
|
||||
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
using System;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
using Xunit.Sdk;
|
||||
|
||||
namespace Berufsschule_HAM.E2ETests;
|
||||
|
||||
public class RetryFactAttribute(int maxRetries = 5) : FactAttribute
|
||||
{
|
||||
public int MaxRetries { get; } = maxRetries;
|
||||
}
|
||||
|
||||
public class RetryTestCase : XunitTestCase
|
||||
{
|
||||
private int _maxRetries;
|
||||
|
||||
[Obsolete("Called by the de-serializer", true)]
|
||||
public RetryTestCase() { }
|
||||
|
||||
public RetryTestCase(
|
||||
IMessageSink diagnosticMessageSink,
|
||||
TestMethodDisplay defaultMethodDisplay,
|
||||
TestMethodDisplayOptions defaultMethodDisplayOptions,
|
||||
ITestMethod testMethod,
|
||||
int maxRetries)
|
||||
: base(diagnosticMessageSink, defaultMethodDisplay, defaultMethodDisplayOptions, testMethod)
|
||||
{
|
||||
_maxRetries = maxRetries;
|
||||
}
|
||||
|
||||
public override async Task<RunSummary> RunAsync(
|
||||
IMessageSink diagnosticMessageSink,
|
||||
IMessageBus messageBus,
|
||||
object[] constructorArguments,
|
||||
ExceptionAggregator aggregator,
|
||||
CancellationTokenSource cancellationTokenSource)
|
||||
{
|
||||
var summary = new RunSummary();
|
||||
|
||||
for (int i = 1; i <= _maxRetries; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await base.RunAsync(
|
||||
diagnosticMessageSink, messageBus, constructorArguments, aggregator, cancellationTokenSource);
|
||||
|
||||
summary.Aggregate(result);
|
||||
|
||||
if (result.Failed == 0)
|
||||
break; // success, stop retrying
|
||||
} catch (Exception) {}
|
||||
}
|
||||
|
||||
return summary;
|
||||
}
|
||||
}
|
||||
|
||||
public class RetryFactDiscoverer : IXunitTestCaseDiscoverer
|
||||
{
|
||||
private readonly IMessageSink _diagnosticMessageSink;
|
||||
|
||||
public RetryFactDiscoverer(IMessageSink diagnosticMessageSink)
|
||||
{
|
||||
_diagnosticMessageSink = diagnosticMessageSink;
|
||||
}
|
||||
|
||||
public IEnumerable<IXunitTestCase> Discover(ITestFrameworkDiscoveryOptions discoveryOptions,
|
||||
ITestMethod testMethod,
|
||||
IAttributeInfo factAttribute)
|
||||
{
|
||||
var maxRetries = factAttribute.GetNamedArgument<int>("MaxRetries");
|
||||
yield return new RetryTestCase(
|
||||
_diagnosticMessageSink,
|
||||
discoveryOptions.MethodDisplayOrDefault(),
|
||||
discoveryOptions.MethodDisplayOptionsOrDefault(),
|
||||
testMethod,
|
||||
maxRetries);
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Chrome;
|
||||
using OpenQA.Selenium.Support.Extensions;
|
||||
using System.Diagnostics;
|
||||
using xRetry;
|
||||
|
||||
namespace Berufsschule_HAM.E2ETests;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user