mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Fixed RetryFact not discovering facts
This commit is contained in:
@@ -22,7 +22,7 @@ public class AssetsPageTests : IDisposable
|
||||
serverProcess = app.Result;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[RetryFact(5)]
|
||||
public void AssetsPage_ShouldShowButton()
|
||||
{
|
||||
AppHelper.Login(_driver);
|
||||
@@ -30,7 +30,7 @@ public class AssetsPageTests : IDisposable
|
||||
_driver.FindElement(By.CssSelector("button[data-bs-target=\"#createAssetModal\"]"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[RetryFact(5)]
|
||||
public void AssetsPage_ShouldShowCreateViewModal()
|
||||
{
|
||||
AppHelper.Login(_driver);
|
||||
|
||||
@@ -5,7 +5,6 @@ using Xunit.Sdk;
|
||||
|
||||
namespace Berufsschule_HAM.E2ETests;
|
||||
|
||||
[XunitTestCaseDiscoverer("YourNamespace.RetryFactDiscoverer", "YourAssemblyName")]
|
||||
public class RetryFactAttribute(int maxRetries = 5) : FactAttribute
|
||||
{
|
||||
public int MaxRetries { get; } = maxRetries;
|
||||
@@ -18,8 +17,13 @@ public class RetryTestCase : XunitTestCase
|
||||
[Obsolete("Called by the de-serializer", true)]
|
||||
public RetryTestCase() { }
|
||||
|
||||
public RetryTestCase(int maxRetries, ITestMethod testMethod)
|
||||
: base(new NullMessageSink(), TestMethodDisplay.Method, TestMethodDisplayOptions.None, testMethod)
|
||||
public RetryTestCase(
|
||||
IMessageSink diagnosticMessageSink,
|
||||
TestMethodDisplay defaultMethodDisplay,
|
||||
TestMethodDisplayOptions defaultMethodDisplayOptions,
|
||||
ITestMethod testMethod,
|
||||
int maxRetries)
|
||||
: base(diagnosticMessageSink, defaultMethodDisplay, defaultMethodDisplayOptions, testMethod)
|
||||
{
|
||||
_maxRetries = maxRetries;
|
||||
}
|
||||
@@ -46,4 +50,27 @@ public class RetryTestCase : XunitTestCase
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user