2017-08-31 98 views
0

我目前正在用NUnit/VS2017編寫Xamarin.Android單元測試應用程序。我使用Xamarin提供的NUnit版本,當我創建我的項目時,NUnitLite會自動引用它。它的程序集Xamarin.Android.NUnitLite似乎是一個框架程序集而不是NuGet程序包,我無法卸載它。我可以使用Xamarin.Android單元測試應用程序中的新NUnit API嗎?

我想知道,我堅持什麼NUnit的API Xamarin選擇放在NUnitLite?我想寫

Assert.That(expected, Does.StartWith(actual)); 

但它看起來像that was added in NUnit v3Does類甚至不NUnitLite存在。這是否意味着我必須寫

Assert.IsTrue(expected.StartsWith(actual)); 

取而代之?

+1

是的,如果你使用Xamarin單元測試項目。要使用NUnit 3 - 我建議考慮使用NUnit org自己的xamarin測試運行器。請參閱:https://github.com/nunit/nunit.xamarin(完整免責聲明:我爲此項目貢獻!) – Chris

回答

1

Xamarin使用原始NUnitLite 0.7或1.0的分叉版本。 (他們實際上開始在0.7版本上使用它,我不確定它是否更新到1.0。)

那NUnitLite(它仍然可以從GitHub上的NUnit項目中獲得)是一個框架並且大致匹配了這些功能的NUnit 2.4 - 2.5。流暢的,基於約束的測試的概念起源於NUnitLite,最終被添加到NUnit本身。

使用NUnit 3,我們消除了「Lite」和「Full」nunit之間的區別。允許NUnitLite與自執行測試程序集一起使用的額外代碼被重構爲一個單獨的程序包,我們稱之爲「NUnitLite」。

回想起來,重命名是一個錯誤。顯然,有兩個NUnitLite出現在這裏,其中一個是框架,另一個不是!然而,在這一點上,我不確定有很多事情要做。

使用Xamarin跑步者和測試的替代方法是使用NUnit和NUnitLite 3.x.另一種選擇是使用NUnit Xamarin轉輪,但它尚未完全穩定。

相關問題