[英]How do I make a JUnit Test Suite that runs tests conditionally based on a list of Test Classes?
我需要制作一個基於用戶提供的輸入文件來運行測試的JUnit測試套件。 IE,如果用戶說應該運行10個測試中的5個,則將運行這5個測試,僅此而已。 有沒有辦法獲取包含測試我的案例的類列表並僅運行它們? 我試圖為此使用for循環
for (Class a: classes)
JUnitCore.runClasses(a);
但是我得到這個錯誤
Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore
at TestRunner.main(TestRunner.java:56)
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
有兩種選擇。
它允許您“標記”測試並通過標記構建測試套件。 您可以查看文檔: https : //github.com/junit-team/junit/wiki/Categories
優點:
缺點:
編寫您的測試規則,並在此規則中忽略(通過拋出AssumptionViolatedException)不在列表中的所有測試。 文檔在這里:
https://github.com/junit-team/junit/wiki/規則
查看TestWatcher規則,該規則在傳遞給其方法的Description對象中具有有關測試類名稱和方法名稱的信息。
優點:
缺點:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.