註解優先於命名模式
test runner 工具以命令列方式接受一個完全限定的類名,並通過呼叫 Method.invoke
以反射方式執行類的所有帶測試註解的方法。isAnnotationPresent 方法告訴工具要執行哪些方法。如果測試方法丟擲異常,反射工具將其封裝在 InvocationTargetException 中。該工具捕獲這個異常並列印一個失敗報告,其中包含測試方法丟擲的原始異常,該異常是用 getCause 方法從 InvocationTargetException 提取的。
public class test39 {
public static void main(String[] args) throws Exception {
Sample.m3();
int tests = 0;
int passed = 0;
Class<?> testClass = Class.forName(args[0]);
for (Method m : testClass.getDeclaredMethods()) {
if (m.isAnnotationPresent(faker.class)) {
tests++;
try {
m.invoke(null);
passed++;
} catch (InvocationTargetException wrappedExc) {
Throwable exc = wrappedExc.getCause();
System.out.println(m + " failed: " + exc);
} catch (Exception exc) {
System.out.println("Invalid @Test: " + m);
}
}
}
System.out.printf("Passed: %d, Failed: %d%n",passed, tests - passed);
}
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface faker {
}
class Sample {
@faker
public static void m3() { // Test should fail
throw new RuntimeException("error !!!!!");
}
}
相關文章
- 關於Luthier CI 命名行模式模式
- java命名與註釋Java
- Spring 註解程式設計之模式註解Spring程式設計模式
- Java ”框架 = 註解 + 反射 + 設計模式“ 之 註解詳解Java框架反射設計模式
- 廣度優先遍歷圖解圖解
- 對於 @Autowired註解和@service註解的理解
- 基於keras的BiLstm與CRF實現命名實體標註KerasCRF
- 看看fishGUI的模式命名GUI模式
- 優先順序反轉+解決方案
- 優先順序反轉解決方案
- Android註解使用之使用Support Annotations註解優化程式碼Android優化
- Java 如何優雅的使用註解Java
- Elasticsearch效能優化引數註解Elasticsearch優化
- 關於CSS樣式的優先順序問題CSS
- 最詳細版圖解優先佇列(堆)圖解佇列
- 深度優先搜尋演算法-dfs講解演算法
- 深度優先搜尋演算法(DFS)講解演算法
- Android 中優雅地使用註解Android
- 基於註解的 Spring MVC詳解SpringMVC
- 關於Java中的@Deprecated註解Java
- 深入理解 CSS:基礎概念、註釋、選擇器及優先順序CSS
- PHP優先佇列PHP佇列
- CSS優先順序CSS
- 堆--優先佇列佇列
- 優先佇列 (轉)佇列
- 優先順序點陣圖演算法詳解演算法
- python實現圖(基於圖的不同儲存方式)的深度優先(DFS)和廣度(BFS)優先遍歷Python
- Firefox領先於Windows,Chrome領先於LinuxFirefoxWindowsChromeLinux
- js實現深度優先遍歷和廣度優先遍歷JS
- 個推基於 Apache Pulsar 的優先順序佇列方案Apache佇列
- 關於Java Chassis 3的契約優先(API First)開發JavaAPI
- 基於結構化感知機的詞性標註與命名實體識別框架詞性標註框架
- Spring基於註解的IoC配置Spring
- Spring基於註解的aop配置Spring
- Spring(5、基於註解的事物)Spring
- 3_基於註解管理Bean物件Bean物件
- 關於事務回滾註解@Transactional
- 大資料下的統計學:問題優先而非解法優先大資料