mirror of
https://github.com/bitwarden/server.git
synced 2025-07-03 09:02:48 -05:00
Add Attribute to use the Bit Autodata dependency chain
BitAutoDataAttribute is used to mark a Theory as autopopulating parameters. Extract common attribute methods to to a helper class. Cannot inherit a common base, since both require inheriting from different Xunit base classes to work.
This commit is contained in:
29
test/Common/AutoFixture/Attributes/BitAutoDataAttribute.cs
Normal file
29
test/Common/AutoFixture/Attributes/BitAutoDataAttribute.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Xunit.Sdk;
|
||||
using AutoFixture;
|
||||
using System.Reflection;
|
||||
using System.Collections.Generic;
|
||||
using Bit.Test.Common.Helpers;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
{
|
||||
public class BitAutoDataAttribute : DataAttribute
|
||||
{
|
||||
private readonly Func<IFixture> _createFixture;
|
||||
private readonly object[] _fixedTestParameters;
|
||||
|
||||
public BitAutoDataAttribute(params object[] fixedTestParameters) :
|
||||
this(() => new Fixture(), fixedTestParameters)
|
||||
{ }
|
||||
|
||||
public BitAutoDataAttribute(Func<IFixture> createFixture, params object[] fixedTestParameters) :
|
||||
base()
|
||||
{
|
||||
_createFixture = createFixture;
|
||||
_fixedTestParameters = fixedTestParameters;
|
||||
}
|
||||
|
||||
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
|
||||
=> BitAutoDataAttributeHelpers.GetData(testMethod, _createFixture(), _fixedTestParameters);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user