[英]Run TestFixture multiple times using Nunit or Jenkins
我有一個包含多個測試的TestFixture。 我想多次運行此TestFixture以收集一些統計信息,但似乎找不到合理的方法。 RepeatAttribute不能在TestFixture上使用。
我可以使用Nunit或Jenkins(帶有nunit插件)。 有任何想法嗎? 否則,我最終會將其編碼到測試中,或者使用怪異的批處理腳本。
正如Steve所說,參數化夾具可以工作,但是如果您要運行數百次測試,則復制和粘貼這么多屬性將變得非常乏味。
在NUnit中,更好的選擇是在燈具上使用TestFixtureSource屬性。 例如,以下代碼將使您的測試夾具運行100次;
[TestFixtureSource("TestData")]
public class MultipleRunFixture
{
int _counter;
public MultipleRunFixture(int counter)
{
_counter = counter;
}
public static IEnumerable<int> TestData =>
Enumerable.Range(0, 100);
[Test]
public void TestMethod()
{
// TODO: Add your test code here
Assert.Pass($"Test run {_counter}");
}
}
您可以將其設置為參數化的燈具:然后該燈具將運行與添加屬性相同的次數:
[TestFixture(4)]
[TestFixture(3)]
[TestFixture(2)]
[TestFixture(1)]
public class MyTestFixture
{
public MyTestFixture(int counter)
{
}
感謝史蒂夫和羅伯的答案。 所有這些都是不錯的選擇,但是我嘗試了另一種方法,結果證明這是針對我的案例的最佳解決方案。 因此,只要將它放在這里給其他偶然發現它的人。
我為該測試裝置創建了一個詹金斯工作,並使用計划時間定期(例如每2分鍾一次)重復進行測試。 這樣,詹金斯(Jenkins)跑了很多遍,甚至為我收集了統計數據(例如測試失敗率)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.