junit 参数化测试用例

几年前,我写了有关JUnit参数化测试的文章 。 我不喜欢它们的一件事是JUnit使用数字命名了单个测试用例,因此,如果它们失败,您将不知道是哪个测试参数导致了失败。 以下Eclipse屏幕快照将向您展示我的意思:

但是,在JUnit 4.11中, @Parameters批注现在带有一个name变量,可用于在测试名称中显示参数,从而使它们更具描述性。 您可以在此参数中使用以下占位符,它们将在运行时由JUnit替换为实际值:

  • {index} :当前参数索引
  • {0}{1} ,…:第一个,第二个,依此类推,参数值

这是一个例子:

import static org.junit.Assert.assertEquals;import java.util.Arrays;
import java.util.Collection;import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;@RunWith(Parameterized.class)
public class StringSortTest {@Parameters(name = "{index}: sort[{0}]={1}")public static Collection<Object[]> data() {return Arrays.asList(new Object[][] {{ "abc", "abc"},{ "cba", "abc"},{ "abcddcba", "aabbccdd"},{ "a", "a"},{ "aaa", "aaa"},{ "", ""}});}private final String input;private final String expected;public StringSortTest(final String input, final String expected){this.input = input;this.expected = expected;}@Testpublic void testSort(){assertEquals(expected, sort(input));}private static String sort(final String s) {final char[] charArray = s.toCharArray();Arrays.sort(charArray);return new String(charArray);}
}

运行测试时,您将看到单独的测试用例,如下面的Eclipse屏幕快照所示,因此很容易识别每个测试用例中使用的参数。

请注意,由于Eclipse中的错误 ,包含括号的名称将被截断。 这就是为什么我必须使用sort[{0}]而不是sort({0})

参考: JUnit:在我们的JCG合作伙伴 Fahd Shariff的fahd.blog博客中为参数化测试中的各个测试用例命名 。

翻译自: https://www.javacodegeeks.com/2013/04/junit-naming-individual-test-cases-in-a-parameterized-test.html

junit 参数化测试用例

junit 参数化测试用例_JUnit:在参数化测试中命名单个测试用例相关推荐

  1. JUnit:在参数化测试中命名单个测试用例

    几年前,我写了有关JUnit参数化测试的文章 . 我不喜欢它们的一件事是JUnit使用数字命名了单个测试用例,因此,如果它们失败,您将不知道是哪个测试参数导致了失败. 以下Eclipse屏幕快照将向您 ...

  2. junit白盒测试 案例_JUnit通过失败测试案例

    junit白盒测试 案例 为什么要建立一种预期测试失败的机制? 有一段时间,人们会希望并期望JUnit @Test案例失败. 尽管这种情况很少见,但确实发生了. 我需要检测JUnit测试何时失败,然后 ...

  3. [转]Web测试中的界面测试用例设计

    一.文本框.按钮等控件测试 1.文本框的测试 如何对文本框进行测试: a.输入正常的字母或数字: b.输入已存在的文件的名称: c.输入超长字符.例如在"名称"框中输入超过允许边界 ...

  4. junit不启用事务_JUnit禁用启用测试

    junit不启用事务 JUnit 5 Jupiter API provides various ways to disable or enable a test. There are various ...

  5. 从测试用例角度来看传统测试人员更专业?

    1.互联网测试人员不专业吗? 前段时间和一个朋友聊到测试用例的问题,他说在刚工作那会,编写用例都要写的很详细,前置条件.操作步骤,预期结果缺一不可,每一条用例都需要有详细的操作和输入数据,每一个用例都 ...

  6. 关于测试中常用到的一些方法、策略总结

    一些常用模块的测试用例 1.登录 2.添加 3.查询 4.删除 1.登录 ①用户名和密码都符合要求(格式上的要求) ②用户名和密码都不符合要求(格式上的要求) ③用户名符合要求,密码不符合要求(格式上 ...

  7. pytest【运行单个测试用例】

    [pytest框架]运行单个测试用例 单个测试用例函数运行,直接在指定文件后方添加 ::test_name(注意此处两个冒号为英文格式),像下面这样: F:\TESTING\BlogPosts\Rea ...

  8. junit 测试目录_JUnit 5测试中的临时目录

    junit 测试目录 JUnit 4 TemporaryFolder @Rule允许开发人员使用临时目录创建测试. 使用JUnit 5时,不支持@Rule因此测试文件和目录需要一点点额外的工作. 幸运 ...

  9. JUnit 5测试中的临时目录

    JUnit 4 TemporaryFolder @Rule允许开发人员使用临时目录创建测试. 使用JUnit 5时,不支持@Rule因此测试文件和目录需要一些额外的工作. 幸运的是,有了JUnit 5 ...

最新文章

  1. Halcon知识: XLD的概念
  2. 编码练习——Java-String-API-练习
  3. Qt学习笔记之网络和连接
  4. 第16讲 用户程序的结构与执行
  5. 大厂Java初级开发工程师!!!面试必问项之Set实现类:TreeSet
  6. Kali学习笔记5:被动信息收集工具集
  7. 在Windows 7中打开Telent客户端服务
  8. android 自定义button点击事件,自定义View(2)-从源码分析button的onClick和onTouch
  9. java mouseclicked_我用mouseClicked没办法被监听,求大神看看怎么回事
  10. 机器学习、数据挖掘之中国大牛
  11. 苹果「Find My iPhone」立功,帮警察追踪偷车嫌犯
  12. 计算机专业,25岁成985高校博导,13篇顶会!入职半年发ICML,网友:万点暴击...
  13. mysql替换首字母_MySQL中使用replace、regexp进行正则表达式替换的用法分析
  14. 如何保养笔记本的电池
  15. MyBatisPlus 学习笔记_MP的AR模式
  16. ARM NEON优化3.RGB Packed转RGB Planar
  17. Webmail邮件***实战技术总结
  18. Xcode下载地址 官网地址,无毒无害
  19. 查询所有表、索引、视图信息的SQL语句-Mysql/oracle/sql server的不同实现方式
  20. 软件加密系统Themida应用程序保护指南(一):应用信息界面

热门文章

  1. Java8使用 Optional 处理 null
  2. Oracle入门(十三)之SQL的DML
  3. @Controller,@Service,@Repository,@Component详解
  4. 分享一套阿里高级Java面试题,要去阿里的先过这些题。
  5. 漫画:什么是MD5算法
  6. 祝我们的所有女孩子,女生节快乐~
  7. 1-10 之间的整数相加,得到累加值大于 20 的当前数
  8. JS中遍历数组的两种方式
  9. python中seaborn画swarm图_Python可视化 | Seaborn5分钟入门(四)——stripplot和swarmplot
  10. python测试开发面试题_python测试开发面试之深浅拷贝