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中使用此工作?
您可以使用xUnit [v2]嗎?你會發現很多東西只是工作(和/或常見的消息可以谷歌搜索等) –
@RubenBartelink,我已經安裝xunit現在包括xunit.runner.visualstudio版本2.1.0,重新啓動VS,重新編譯。我添加的XUnit測試沒有出現在測試瀏覽器中。試圖安裝xunit.runners,但它表示不支持net451。這聽起來不像「正常工作」。我寧願用NUnit來解決這個問題,版本3是一個相當不錯的測試框架。 – Rbjz
對不起,我必須毀了,但如果你谷歌爲什麼是xunit亞軍沒有找到我的測試,有故障排除的問題(其中一個是我的) - 並道歉誇大 - 是的,可能stilkl是問題。但是我可以說的一件事是大多數使用AF的屬性都使用xUnit。 –