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. ROR:基于属性
- 7. XML基于属性
- 8. 基于文件名/ cfg文件/属性名称的动态URI
- 9. JavaFX:基于属性的实体与基于属性的包装
- 10. 基于属性的Unpivot xml文档
- 11. 基于属性值的条件(XML Schema)
- 12. 基于子组件的计算属性
- 13. 基于导入属性的MSBuild条件
- 14. 属性“ID”是基于组件
- 15. 基于构建配置文件的条件AndroidManifest属性?
- 16. 基于现有属性的couchdb文档属性:批量更新
- 17. 基于其他属性的属性条件存在值
- 18. 通过基于属性
- 19. SimpleXML的基于属性
- 20. jQuery的 - 基于属性
- 21. 基于属性的元素
- 22. 基于模型的属性
- 23. 如何从基于Locale的属性文件获取指令属性的值?
- 24. 的Maven - 激活基于子文件属性
- 25. 基于Spring中的属性文件动态配置java beans
- 26. XMLReader读取基于属性值的XML文件
- 27. 基于属性文件替换所有令牌与ANT
- 28. 基于属性文件设置实例化泛型
- 29. ASP.Net MVC基于文件上传切换IsAjaxRequest属性?
- 30. Grails 3 - 有条件地忽略Spock测试