Ich versuche, einige Unit-Tests in F # mit XUnit2 und AutoFixture schreiben und ich habe ein Problem. Ich habe eine Theorie mit benutzerdefinierten Attributen, die von InlineAutoData erbt und der Test Explorer sagt mir immer wieder, dass keine Tests gefunden wurden. Wenn ich das Theory-Attribut durch ein Fact-Attribut ersetze, funktioniert es immer noch nicht, aber wenn ich die benutzerdefinierten InlineData-Attribute entferne, wird der Test entdeckt. Tests werden in F # geschrieben, Attribute in einem anderen Projekt jedoch in C#.F # Theorie mit benutzerdefinierten AutoFixture.InlineAutoData nicht in Test Explorer
ich diese Frage Stackoverflow gefunden habe, die ähnlich scheint, aber es mir mein Problem nicht helfen Lösung: AutoFixture in F# UnitTest Project Not Displaying Unit Tests in Test Explorer
Hier ist die Unit-Test-Deklaration:
[<Theory>]
[<SyntaxTreeInlineAutoData("Class/SingleClass.cs", 1)>]
[<SyntaxTreeInlineAutoData("Class/MultipleClass.cs", 2)>]
[<SyntaxTreeInlineAutoData("Class/NestedClass.cs", 2)>]
let ``Inspect_WhenVariousContexts_WithSuccess`` (count, tree : SyntaxTree) =
Hier Attribute Erklärungen:
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
public class SyntaxTreeInlineAutoDataAttribute : InlineAutoDataAttribute
{
#region Constructors
public SyntaxTreeInlineAutoDataAttribute(string sourceFile, params object[] values)
: base(new SyntaxTreeAutoDataAttribute(sourceFile), values)
{
}
#endregion
}
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
public class SyntaxTreeAutoDataAttribute : AutoDataAttribute
{
#region Constructors
public SyntaxTreeAutoDataAttribute() : this(null)
{
}
public SyntaxTreeAutoDataAttribute(string sourceFile)
: base(new Fixture().Customize(new SyntaxTreeCustomization(sourceFile)))
{
}
#endregion
}
[Bearbeiten]
Das Projekt ist ein Port eines C# -Projekts. Unit Tests funktionierte gut mit dem benutzerdefinierten Attribut. Der Fehler trat nur bei Tests auf, die in F # geschrieben wurden.
Alles ist installiert: xUnit2, xUnit.runners.visualstudio und AutoFixture.
Danke für die Hilfe.
Haben Sie # Tests C, die entdeckt zu tun bekommen? Haben Sie xUnit Visual Studio Runner installiert? –
Meine [selbstbeantwortete halbbezogene Frage] (http://stackoverflow.com/questions/35103781/why-is-the-visual-studio-2015-test-runner-not-discovering-my-xunit-v2- tests/35103782 # 35103782) war mit F #, xUnit und VS2015 (aber nicht mit AutoFixture) –