Junit框架中動態選擇是否執行test

2021-08-14 13:40:50 字數 994 閱讀 7656

一組應用了junit的測試,需要增加乙個動態判斷,來決定是否跑test。我知道這組測試其實已經應用了junit的category功能,來做測試組的初期分類,在跑這一整套測試的時候,執行環節會針對不同的被測產品給出乙個custom引數,測試**跑起來後會根據這個custom的值,來選擇排除某些category和包括哪些category。

現在這個策略不夠用了,因為之前標記好的category,同乙個分類下還是有動態選擇執行的需求,於是這次用到了junit中rule特性。

見下面**就實現了乙個rule。

package com.ibm.robot.web.util;

import com.ibm.robot.web.util.webpropertiesloader;

import org.junit.rules.testrule;

import org.junit.runner.description;

import org.junit.runners.model.statement;

public

class

notrun5gcase

implements

testrule }};

}}

從**中可見,這條rule規定當ap_2g的值與ap_5g相等,同時test的方法名中包含5ghz的話,則不執行這個test。

把這條rule應用到具體的test中即可。

public

class

wifitest

@after

public

void

teardown() throws exception

@test

public

void

testwifi2ghz()

@test

public

void

testwifi5ghz()

}

以上。

dubbo是如何「插入」到spring框架中的

作為乙個分布式服務治理框架,dubbo做的非常好,在業界使用很廣,所以最近研究了下這個框架。任何框架要研究其原理最好的辦法之一就是沿著其執行流程進行追蹤,這樣就能從上到下,從粗到細對乙個系統進行了解。今天,我們要說明的問題就是dubbo如何啟動的。dubbo是基於spring進行開發的,而且擴充套件...

dubbo是如何「插入」到spring框架中的

作為乙個分布式服務治理框架,dubbo做的非常好,在業界使用很廣,所以最近研究了下這個框架。任何框架要研究其原理最好的辦法之一就是沿著其執行流程進行追蹤,這樣就能從上到下,從粗到細對乙個系統進行了解。今天,我們要說明的問題就是dubbo如何啟動的。dubbo是基於spring進行開發的,而且擴充套件...

Spring框架中的單例Beans是執行緒安全的麼?

spring 框架並沒有對單例 bean 進行任何多執行緒的封裝處理。關於單例 bean 的執行緒安全和併發問題需要開發者自行去搞定。但實際上,大部分的 spring bean 並沒有可變的狀態 比如 serview 類和dao類 所以在某種程度上說 spring 的單例bean 是執行緒安全的。如...