0
A
回答
0
的Spock Manual, chapter "Extensions",介紹瞭如何使用綁定變量一樣sys
,env
,os
,jvm
。但基本上,您可以將任何Groovy閉包放在那裏。
如果在運行測試時在命令行中指定環境變量或系統屬性,則可以使用env
或sys
以訪問它們。但是,如果你絕對想從文件中讀取性能,只需使用一個輔助類是這樣的:
文件spock.properties:
也許你想要把文件保存在某個下的src /如果您使用Maven構建測試/資源。
spock.skip.slow=true
Helper類讀取屬性文件:使用輔助類
class SpockSettings {
public static final boolean SKIP_SLOW_TESTS = ignoreLongRunning();
public static boolean ignoreLongRunning() {
def properties = new Properties()
def inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("spock.properties")
properties.load(inputStream)
inputStream.close()
//properties.list(System.out)
Boolean.valueOf(properties["spock.skip.slow"])
}
}
測試:
import spock.lang.IgnoreIf
import spock.lang.Specification
import spock.util.environment.OperatingSystem
class IgnoreIfTest extends Specification {
@IgnoreIf({ SpockSettings.SKIP_SLOW_TESTS })
def "slow test"() {
expect:
true
}
def "quick test"() {
expect:
true
}
@IgnoreIf({ os.family != OperatingSystem.Family.WINDOWS })
def "Windows test"() {
expect:
true
}
@IgnoreIf({ !jvm.isJava8Compatible() })
def "needs Java 8"() {
expect:
true
}
@IgnoreIf({ env["USERNAME"] != "kriegaex" })
def "user-specific"() {
expect:
true
}
}
相關問題
- 1. 基於屬性的條件屬性
- 2. 基於屬性文件渲染SelectItem
- 3. 接線豆基於屬性文件
- 4. 負載從屬性選擇性屬性文件基於鍵值
- 5. 如何在Spock中使用IgnoreIf,當我檢查變量?
- 6. 基於屬性
- 7. 基於屬性
- 8. 加載基於屬性文件的語言屬性佔位
- 9. XML基於屬性
- 10. ROR:基於屬性
- 11. 基於文件名/ cfg文件/屬性名稱的動態URI
- 12. JavaFX:基於屬性的實體與基於屬性的包裝
- 13. 基於屬性值刪除屬性xslt
- 14. 基於屬性的Unpivot xml文檔
- 15. 基於屬性值的條件(XML Schema)
- 16. 屬性「ID」是基於組件
- 17. 基於子組件的計算屬性
- 18. 入門基於兩個屬性條件
- 19. 基於屬性名稱的AutoMapper條件
- 20. 基於TextBlock.Text屬性的條件樣式?
- 21. 基於導入屬性的MSBuild條件
- 22. 屬性文件基於有條件圖案
- 23. 基於構建配置文件的條件AndroidManifest屬性?
- 24. 基於現有屬性的couchdb文檔屬性:批量更新
- 25. 基於其他屬性的屬性條件存在值
- 26. 基於對象屬性
- 27. 限制基於屬性
- 28. 選擇基於屬性
- 29. YAHOO.widget.RecordSet getRecord()基於屬性值
- 30. jQuery的 - 基於屬性