当前位置: 首页 > news >正文

传统网站开发/最近营销热点

传统网站开发,最近营销热点,买的网站模板怎么做,新能源汽车价格目录 目录按条件执行测试用例Composed Annotations 操作系统条件Java 运行环境条件系统属性条件环境变量条件脚本依赖条件注意代码脚本绑定 系列导航 按条件执行测试用例 JUnit Jupiter中的ExecutionCondition扩展API允许开发人员以编程方式启用或禁用容器或测试。 这种情况最…

目录

  • 目录
  • 按条件执行测试用例
    • Composed Annotations
  • 操作系统条件
  • Java 运行环境条件
  • 系统属性条件
  • 环境变量条件
  • 脚本依赖条件
    • 注意
    • 代码
    • 脚本绑定
  • 系列导航

按条件执行测试用例

JUnit Jupiter中的ExecutionCondition扩展API允许开发人员以编程方式启用或禁用容器或测试。
这种情况最简单的例子是内置的DisabledCondition,它支持 @Disabled 注释(参见禁用测试)。
除了@Disabled之外,JUnit Jupiter还支持 org.junit.jupiter.api.condition 中的其他几个基于注解的条件。
允许开发人员以声明的方式启用或禁用容器和测试的条件包。

Composed Annotations

注意,以下部分列出的任何条件注释也可以用作元注释,以便创建自定义组合注释。
例如,@EnabledOnOs演示中的@TestOnMac注释显示了如何将@Test和@EnabledOnOs结合在一个单独的、可重用的注释中。

以下部分列出的每个条件注释只能在给定的测试接口、测试类或测试方法上声明一次。
如果在给定的元素上直接呈现、间接呈现或多次元呈现一个条件注释,那么只使用JUnit发现的第一个此类注释;任何附加声明都将被静默地忽略。
但是,请注意,每个条件注释可以与org.junit.jupiter.api.condition 中的其他条件注释结合使用条件包。

操作系统条件

  • OperateSysCondition.java

操作系统条件

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.EnabledOnOs;import static org.junit.jupiter.api.condition.OS.LINUX;
import static org.junit.jupiter.api.condition.OS.MAC;
import static org.junit.jupiter.api.condition.OS.WINDOWS;/*** @author houbinbin* @version 1.0* @since JDK 1.7*/
public class OperateSysCondition {@Test@EnabledOnOs(MAC)void onlyOnMacOs() {// ...}@TestOnMacvoid testOnMac() {// ...}@Test@EnabledOnOs({ LINUX, MAC })void onLinuxOrMac() {// ...}@Test@DisabledOnOs(WINDOWS)void notOnWindows() {// ...}
}
  • @TestOnMac.java

其中 @TestOnMac 这个注解,使我们根据已经有的注解,组合而成的新注解:

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;import static org.junit.jupiter.api.condition.OS.MAC;@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Test
@EnabledOnOs(MAC)
public @interface TestOnMac {
}

Java 运行环境条件

  • JRECondition.java
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnJre;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.EnabledOnJre;
import org.junit.jupiter.api.condition.EnabledOnOs;import static org.junit.jupiter.api.condition.JRE.JAVA_10;
import static org.junit.jupiter.api.condition.JRE.JAVA_8;
import static org.junit.jupiter.api.condition.JRE.JAVA_9;
import static org.junit.jupiter.api.condition.OS.LINUX;
import static org.junit.jupiter.api.condition.OS.MAC;
import static org.junit.jupiter.api.condition.OS.WINDOWS;public class JRECondition {@Test@EnabledOnJre(JAVA_8)void onlyOnJava8() {// ...}@Test@EnabledOnJre({ JAVA_9, JAVA_10 })void onJava9Or10() {// ...}@Test@DisabledOnJre(JAVA_9)void notOnJava9() {// ...}
}

系统属性条件

通过 @EnabledIfSystemProperty@DisabledIfSystemProperty 注释,
可以根据命名的JVM系统属性的值启用或禁用容器或测试。通过matches属性提供的值将被解释为正则表达式。

  • SystemPropertyCondition.java
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
import org.junit.jupiter.api.condition.EnabledIfSystemProperty;public class SystemPropertyCondition {@Test@EnabledIfSystemProperty(named = "os.arch", matches = ".*64.*")void onlyOn64BitArchitectures() {// ...}@Test@DisabledIfSystemProperty(named = "ci-server", matches = "true")void notOnCiServer() {// ...}
}

环境变量条件

容器或测试可以根据底层操作系统中命名的环境变量的值通过 @EnabledIfEnvironmentVariable@DisabledIfEnvironmentVariable 注解来启用或禁用。
通过matches属性提供的值将被解释为正则表达式。

  • EnvVarCondition.java
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledIfEnvironmentVariable;
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;public class EnvVarCondition {@Test@EnabledIfEnvironmentVariable(named = "ENV", matches = "staging-server")void onlyOnStagingServer() {// ...}@Test@DisabledIfEnvironmentVariable(named = "ENV", matches = ".*development.*")void notOnDeveloperWorkstation() {// ...}
}

脚本依赖条件

JUnit Jupiter提供了根据对通过 @EnabledIf@DisabledIf 注释配置的脚本的评估来启用或禁用容器或测试的能力。

脚本可以用JavaScript、Groovy或任何其他脚本语言编写,这些脚本语言都支持 JSR 223 定义的Java脚本API。

注意

  • 警告

这两个注解目前属于实验性功能,谨慎使用。

  • 提示

    1. 如果脚本的逻辑仅依赖于当前的操作系统、当前的Java运行时环境版本、特定的JVM系统属性或特定的环境变量,则应该考虑使用专门用于此目的的内置注释之一。

    2. 如果您发现自己多次使用基于脚本的条件,请考虑编写一个专用的执行条件扩展,以便以更快、类型安全、更可维护的方式实现条件。

代码

@Test // Static JavaScript expression.
@EnabledIf("2 * 3 == 6")
void willBeExecuted() {// ...
}@RepeatedTest(10) // Dynamic JavaScript expression.
@DisabledIf("Math.random() < 0.314159")
void mightNotBeExecuted() {// ...
}@Test // Regular expression testing bound system property.
@DisabledIf("/32/.test(systemProperty.get('os.arch'))")
void disabledOn32BitArchitectures() {assertFalse(System.getProperty("os.arch").contains("32"));
}@Test
@EnabledIf("'CI' == systemEnvironment.get('ENV')")
void onlyOnCiServer() {assertTrue("CI".equals(System.getenv("ENV")));
}@Test // Multi-line script, custom engine name and custom reason.
@EnabledIf(value = {"load('nashorn:mozilla_compat.js')","importPackage(java.time)","","var today = LocalDate.now()","var tomorrow = today.plusDays(1)","tomorrow.isAfter(today)"},engine = "nashorn",reason = "Self-fulfilling: {result}")
void theDayAfterTomorrow() {LocalDate today = LocalDate.now();LocalDate tomorrow = today.plusDays(1);assertTrue(tomorrow.isAfter(today));
}

脚本绑定

下面的名称绑定到每个脚本上下文,因此可以在脚本中使用。访问器通过一个简单的 String get(String name) 方法提供对类似地图的结构的访问。

序号名称类型描述
1systemEnvironmentaccessor操作系统环境变量访问器
2systemPropertyaccessorJVM系统属性访问器
3junitConfigurationParameteraccessor配置参数取值
4junitDisplayNameString测试或者容器的展示名称
5junitTagsSet测试或者容器的所有标签信息
6junitUniqueIdString测试或者容器的唯一标识

系列导航

系列导航

http://www.jmfq.cn/news/4836007.html

相关文章:

  • 做门户类网站多少钱/微信朋友圈软文大全
  • 设计网站的收费图是怎么做的/网站收录
  • wordpress阿里云主机/seo课堂
  • 小企业公司网站怎么建/谷歌搜索引擎镜像入口
  • 网站商城/页面优化
  • 手机版官方网站的建设/谷歌官方网站
  • 学生个人简历/慈溪seo排名
  • 网站怎么做友链/怎么写网站
  • wordpress网页排版插件/百度seo排名规则
  • 二手域名做网站不收录/seo免费浏览网站
  • 商务型网站模板/国家免费技能培训平台
  • 游戏网站建设方案百度文库/关键词包括哪些内容
  • 专业的移动网站建设/怎么自己注册网站
  • wordpress无法管理站点/北京百度推广seo
  • 摄影创意网站/seo草根博客
  • wordpress关键字/武汉seo推广优化公司
  • 简述b2b b2c c2c o2o的含义/安徽seo报价
  • 百度搜索不到asp做的网站/谷歌浏览器网页版入口手机版
  • 网站建设费用低的公司/建站快车
  • 政府网站建设经验材料/品牌运营管理有限公司
  • 邯郸小学网站建设/宣传推广文案
  • 汕头做网站优化的公司/1小时快速搭建网站
  • 长沙做网站品牌/知名网络营销推广
  • 移动网站 案例/广州seo优化公司排名
  • 网站是先解析还是先备案/下载百度app到手机上
  • 网站建设招聘岗位/百度关键词竞价查询系统
  • 可以做网站的编程有什么/优化大师电脑版官方免费下载
  • 做网站素材/游戏推广工作好做吗
  • 自己做的网站注册用户无法收到激活邮箱的邮件/肇庆网站快速排名优化
  • 浙江高端网站建设/查权重网站