簡體   English   中英

如何從命令行並行運行 NUnit 測試?

[英]How to run NUnit tests in parallel from command line?

我的 NUnit 測試是用 C# 編寫的,它是使用 .net 核心 3.1 構建的。 我正在嘗試並行運行其中的測試。 我知道我可以像這樣 [Parallelizable(ParallelScope.Fixtures)] 在夾具級別設置 Parallelizable 屬性。 但是,這不是我要找的。 我想使用“dotnet test”從命令行運行測試。

所以,我只是在檢查是否有任何方法可以這樣運行

   dotnet test --parallel FullyQualifiedName~NUnitNamespace.UnitTest1

   dotnet test --parallel C:\NUnitTestDemo\bin\Debug\netcoreapp3.1\testproject.dll

命令行中的任何內容都必須傳遞給 NUnit。 NUnit 允許使用傳入的 arguments 來限制並行性,但它不允許運行器強制並行運行。

如果你仔細想想,那是合乎邏輯的。

該屬性是[Parallelizable] ,其中“IZABLE”表示“有能力”。 測試作者使用該屬性告訴 NUnit 特定測試能夠並行運行。 如果沒有這種保證,NUnit 無法知道測試是否足夠獨立於其他測試以運行而不會出現錯誤或誤報。

所以在測試中你可以告訴 NUnit 它是否能夠並行運行所有或部分測試。 理論上,NUnit 可能會並行運行它們,但實際上,如果可能的話,它會並行運行測試,直到指定的並行測試工作者限制。 該限制可以在程序集級別使用屬性指定,也可以由運行程序指定。

如果使用 NUnit 控制台運行程序運行,則使用 --workers 選項設置限制。 使用 dotnet test 時,需要使用NumberOfTestworkers設置在.runsettings文件中指定它。 要完全抑制並行性,請使用值 0。值 1 會抑制大多數並行性,但如果一個在 STA 中,一個在 MTA 中,仍允許測試同時運行。

有關可以使用的設置列表,請參閱https://github.com/nunit/docs/wiki/Tips-And-Tricks

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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