我想寫一些單元測試的F#與xUnit2和AutoFixture,我面臨一個問題。我有一個從InlineAutoData繼承自定義屬性的理論,並且測試資源管理器一直說我沒有找到測試。如果我用Fact屬性替換Theory屬性,它仍然不起作用,但如果我刪除自定義InlineData屬性,則會發現測試。測試用F#編寫,但屬性在另一個項目中用C#編寫。F#理論與自定義AutoFixture.InlineAutoData不顯示在測試資源管理器
我發現這個StackOverflow的問題,這似乎是相似的,但它並不能幫助我解決我的問題:AutoFixture in F# UnitTest Project Not Displaying Unit Tests in Test Explorer
這裏是單元測試聲明:
[<Theory>]
[<SyntaxTreeInlineAutoData("Class/SingleClass.cs", 1)>]
[<SyntaxTreeInlineAutoData("Class/MultipleClass.cs", 2)>]
[<SyntaxTreeInlineAutoData("Class/NestedClass.cs", 2)>]
let ``Inspect_WhenVariousContexts_WithSuccess`` (count, tree : SyntaxTree) =
下面是屬性聲明:
[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
}
[編輯]
該項目是C#項目的一個端口。單元測試與自定義屬性一起工作正常。該錯誤僅在使用F#編寫測試時發生。
所有安裝:xUnit2,xUnit.runners.visualstudio和AutoFixture。
感謝您的幫助。
你有做任何C#測試曝光機會?你安裝了xUnit Visual Studio亞軍? –
我的[自我回答半相關問題](http://stackoverflow.com/questions/35103781/why-is-the-visual-studio-2015-test-runner-not-discovering-my-xunit-v2-測試/ 35103782#35103782)與F#,xUnit和VS2015(但不是AutoFixture) –