簡體   English   中英

使用Nunit或Jenkins多次運行TestFixture

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM