簡體   English   中英

如何過濾源路徑從eclipse調用的JUNIT測試

[英]How to filter JUNIT Tests that are called from eclipse by source path

假設我在Eclips項目中有一組源文件夾:

MyProject
  base/src/impl
  base/src/test
  common/src/api
  common/src/test
  common/src/junit

請注意,這些不是包,它們是源文件夾,每個包內都有一個包層次結構,它們可以是相同的。 假設我在base / src / impl文件夾中有一個類com.foo.myproject.DoSomething,我可能在base / src / Test文件夾中有一個名為com.foo.myproject.DoSomethingTest的Test,也許是com.foo .myproject.DoSomethingUnitTest在同一包層次結構下的另一個源文件夾中。

我需要做的是運行某些源文件夾下的所有測試。 也許所有這些都在junit文件夾中,但沒有來自測試文件夾。

這可以通過帶有junit搜索模式的Ant工作得很好,例如:

<include name="**/src/junit" />

但是,我希望能夠從Eclipse獲得完全相同的運行配置,而無需調用Ant。 由於已經有很多項目,包和數千個測試類,我正在尋找一種“懶惰”的方式來完成這項工作,這意味着,無需更改項目結構或必須保留復雜的測試套件。

我嘗試過的一種方法是使用ClasspathSuite使用的org.springframework.core.io.support.PathMatchingResourcePatternResolver ,但是在classpath中查找資源總是在一個單獨的類位置查看合並的源文件夾,所以我無法過濾在我打算做的水平上。

我正在尋找兩種方法:

1. Filter using some TestSuite
2. Filter using some JUNIT Runner Plugin in Eclipse (is there any that can do what I need?)

謝謝!

您可以右鍵單擊源文件夾,然后選擇Run As> JUnit Test。

這將僅在此源文件夾中運行單元測試。


或者,在編輯“運行配置”時,您可以選擇

運行配置

Run all tests in the selected project, package or source folder:

search並選擇您要運行單元測試的文件夾。

請參閱編寫和運行 Eclipse幫助的JUnit測試中的“自定義測試配置”。


同一頁面介紹了如何使用New Test Suite向導創建自定義Test Suite。

新測試套件向導

這是一個似乎可以滿足你想要的項目:

ClasspathSuite

查找“Classpath屬性注釋”以設置從中進行測試的文件夾。

此外,如果您的測試類確實被命名為接縫到(所有單元測試類都具有后綴UnitTest),那么您還可以使用@ClassnameFilters注釋。

暫無
暫無

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

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