我想以這樣的方式設置我的框架:只有當測試設置為運行時,它才會列在Nunit測試播放列表(TestExplorer)中,否則根本不會在列表中顯示。
我的計劃-我將有一個外部數據源,如csv、xlsx或DB,帶有測試數據的行和列。其中一列將具有運行標志,該標志將決定是否需要運行局部測試。如果標志設置為false,則nunit不應將其視為測試,也不應將其顯示在測試播放列表中(即使測試方法具有屬性[test])或報告中。請注意,我知道“忽略”屬性,但我不想將其用作-此類測試在測試報告或播放列表中顯示為“跳過”。
根據表,播放列表應該只列出并執行TestMethod1和TestMethod2。
注意:我已經嘗試了[TestCase]和[TestCaseSource],但對于每種方法,我都可以看到播放列表和報告中列出的不需要的測試方法。
我探索了一下,實現了我想要的。令人驚訝的是,查理也提出了同樣的建議,所以我很有信心。可以有更多的方法或代碼可以進一步優化,我正在添加我迄今為止嘗試的內容。注意:列表中只有一個方法不會被執行/跳過。您無法避免這種情況,因為相同的方法會為列表生成實際的測試方法。