2016-05-31 28 views
3

我喜歡使用屬性定義測試的選項。但是,我一定在做錯事。我已經安裝了軟件包:用Nunit,AutoFixture,NSubstitute和AutoSubstituteDataAttribute定義測試數據

<packages> 
    <package id="AutoFixture" version="3.46.0" targetFramework="net451" /> 
    <package id="AutoFixture.AutoNSubstitute" version="3.46.0" targetFramework="net451" /> 
    <package id="AutoFixture.NUnit3" version="3.46.0" targetFramework="net451" /> 
    <package id="NSubstitute" version="1.10.0.0" targetFramework="net451" /> 
    <package id="NUnit" version="3.2.1" targetFramework="net451" /> 
</packages> 

單取代參數經歷:

[Theory, AutoSubstituteData] 
public void Test_Single([Substitute] Service svc) 
{ 
    // executed, shown as success 
} 

雖然混合替代和一些其它值失敗:

[Theory, AutoSubstituteData] 
public void Test_Mixed(int version, string name, [Substitute] IService svc) 
{ 
    // not executed, shown as inconclusive 
} 

屬性:

public class AutoSubstituteDataAttribute : Ploeh.AutoFixture.NUnit3.AutoDataAttribute 
{ 
    public AutoSubstituteDataAttribute() 
     : base(new Fixture().Customize(new AutoConfiguredNSubstituteCustomization())) 
    { 
    } 
} 

測試輸出說:

NUnit的適配器3.0.10.0:測試執行完整的

測試適配器發送回一個結果未知的測試用例。忽略'Test_Mixed(150,「name04f0cd50-e89f-4a8f-db6-dab69b58e98e」,Castle.Proxies.IServiceProxy)''的結果。

如何在VS2015或NUnit 3x中使用此工作?

+0

您可以使用xUnit [v2]嗎?你會發現很多東西只是工作(和/或常見的消息可以谷歌搜索等) –

+0

@RubenBartelink,我已經安裝xunit現在包括xunit.runner.visualstudio版本2.1.0,重新啓動VS,重新編譯。我添加的XUnit測試沒有出現在測試瀏覽器中。試圖安裝xunit.runners,但它表示不支持net451。這聽起來不像「正常工作」。我寧願用NUnit來解決這個問題,版本3是一個相當不錯的測試框架。 – Rbjz

+0

對不起,我必須毀了,但如果你谷歌爲什麼是xunit亞軍沒有找到我的測試,有故障排除的問題(其中一個是我的) - 並道歉誇大 - 是的,可能stilkl是問題。但是我可以說的一件事是大多數使用AF的屬性都使用xUnit。 –

回答

1

(從評論:)

這看起來像NUnit的3 Visual Studio的測試適配器的問題。如果我使用NUnit 3命令行轉輪運行這些測試,它們都會運行並通過。