- 浏览: 7936489 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
junit中的不少测试的好方法,比如针对LIST的测试,可以使用
hamcrest-library类库,首先在POM.XML中加入:
1) 测试LIST,字符串
2) 测试INTEGER
3 测试LIST中有复杂对象
hamcrest-library类库,首先在POM.XML中加入:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> </exclusion> </exclusions> </dependency> <!-- This will get hamcrest-core automatically --> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>1.3</version> <scope>test</scope> </dependency> </dependencies>
1) 测试LIST,字符串
public class ListTest { @Test public void testAssertList() { List<String> actual = Arrays.asList("a", "b", "c"); List<String> expected = Arrays.asList("a", "b", "c"); //All passed / true //1. Test equal. assertThat(actual, is(expected)); //2. If List has this value? assertThat(actual, hasItems("b")); //3. Check List Size assertThat(actual, hasSize(3)); assertThat(actual.size(), is(3)); //4. List order // Ensure Correct order assertThat(actual, contains("a", "b", "c")); // Can be any order assertThat(actual, containsInAnyOrder("c", "b", "a")); //5. check empty list assertThat(actual, not(IsEmptyCollection.empty())); assertThat(new ArrayList<>(), IsEmptyCollection.empty()); } }
2) 测试INTEGER
@Test public void testAssertList() { List<Integer> actual = Arrays.asList(1, 2, 3, 4, 5); List<Integer> expected = Arrays.asList(1, 2, 3, 4, 5); //All passed / true //1. Test equal. assertThat(actual, is(expected)); //2. Check List has this value assertThat(actual, hasItems(2)); //3. Check List Size assertThat(actual, hasSize(4)); assertThat(actual.size(), is(5)); //4. List order // Ensure Correct order assertThat(actual, contains(1, 2, 3, 4, 5)); // Can be any order assertThat(actual, containsInAnyOrder(5, 4, 3, 2, 1)); //5. check empty list assertThat(actual, not(IsEmptyCollection.empty())); assertThat(new ArrayList<>(), IsEmptyCollection.empty()); //6. Test numeric comparisons assertThat(actual, everyItem(greaterThanOrEqualTo(1))); assertThat(actual, everyItem(lessThan(10))); } }
3 测试LIST中有复杂对象
@Test public void testAssertList() { List<Fruit> list = Arrays.asList( new Fruit("Banana", 99), new Fruit("Apple", 20) ); //Test equals assertThat(list, hasItems( new Fruit("Banana", 99), new Fruit("Apple", 20) )); assertThat(list, containsInAnyOrder( new Fruit("Apple", 20), new Fruit("Banana", 99) )); //Test class property, and its value assertThat(list, containsInAnyOrder( hasProperty("name", is("Apple")), hasProperty("name", is("Banana")) )); } public class Fruit { public Fruit(String name, int qty) { this.name = name; this.qty = qty; } private String name; private int qty; public int getQty() { return qty; } public void setQty(int qty) { this.qty = qty; } public String getName() { return name; } public void setName(String name) { this.name = name; } //Test equal, override equals() and hashCode() @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Fruit fruit = (Fruit) o; return qty == fruit.qty && Objects.equals(name, fruit.name); } @Override public int hashCode() { return Objects.hash(name, qty); } } }
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1568方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 2017前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3463info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2231import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 489https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 683public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 606https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 668https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 432https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 5381 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3095微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 612https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1842什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 962本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1359原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 856public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 668在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 936-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 767一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1903介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
Junit4支持参数化的测试方法,使得针对不同数据集的测试更加高效。 **示例代码**: ```java import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized....
JUnit是Java中广泛使用的单元测试框架,它允许我们编写针对单个方法的测试,并在运行时检查其结果是否符合预期。 ```java import org.junit.Test; import static org.junit.Assert.assertEquals; public class ...
在Spring框架中,单元测试和...而DBunit则在数据库集成测试中扮演关键角色,帮助我们有效地管理和维护测试数据,确保测试的一致性和可靠性。在实际开发中,熟练掌握这些工具和概念,能有效提升代码质量,降低维护成本。
然后,创建一个继承自Selenium的JUnit测试类,如`ExampleTest`,并在`setUp()`方法中初始化Solo对象,它是Robotium的主要测试助手。例如: ```java public class ExampleTest extends ...
"快手2019秋招笔试试题-测试A试卷" 这个标题揭示了我们关注的是快手公司2019年秋季招聘的笔试环节中,针对测试岗位的一份试题集。快手作为知名的短视频分享平台,其招聘流程往往包括技术性的测试,以确保应聘者具备...
- **自动化测试**:使用Selenium、JUnit、TestNG等工具进行自动化测试脚本编写和执行,提高测试效率。 - **持续集成与持续部署(CI/CD)**:利用Jenkins、GitLab CI/CD等工具实现代码自动构建、测试和部署,确保...
在这个项目中,"ocjp.tips"创建了一系列JUnit测试,针对Java中最具挑战性的功能,如异常处理、多线程、反射、枚举、集合框架、内存管理和泛型等。 1. 异常处理:Java的异常处理机制是其强大但有时也复杂的特性之一...
4. 测试工具:如Selenium用于Web自动化测试,Junit和TestNG用于Java的单元测试,Appium针对移动应用测试等。 二、Java面试题重点 1. Java基础:掌握面向对象的三大特性(封装、继承、多态),熟悉异常处理,理解...
4. **自动化测试**:了解Selenium、Junit、TestNG等自动化测试工具的使用。 5. **敏捷开发与测试**:Scrum、Kanban框架下的测试实践,持续集成和持续交付。 6. **测试文档**:需求分析、测试计划、测试用例、测试...
本压缩包文件“C++、JAVA+、C+++、软件测试面试题.rar”包含了针对C++、Java++(可能是Java的误写)、C++以及软件测试领域的常见面试问题,帮助求职者准备这些技术领域的工作面试。以下将详细探讨这些关键知识点。 ...
`scalatest-embedded-kafka` 是一个专门针对Scala和Kafka开发的测试库,它允许开发者在测试环境中快速、便捷地搭建一个内存中的Kafka实例,从而进行集成测试和端到端测试。这个库是基于ScalaTest构建的,使得与Scala...
在测试中,我们看到`BaseBullet`、`AbstractFlyingObject`和`AbstractAircraft`等接口或抽象类的引用,这表明类之间可能存在继承关系。例如,`crash()`方法接受`AbstractFlyingObject`类型的参数,这允许不同类型的...
针对"海量C++,java,软件测试程序员面试题"这个主题,我们可以深入探讨这三个领域的核心知识点,以及如何为这些领域的面试做准备。 首先,让我们关注C++。C++是一种静态类型的、编译式的、通用的、大小写敏感的、...
文档标题和描述提到了2010年阿里巴巴在南京进行的校园招聘中针对技术类岗位,包括Java、搜索研发、C++以及测试工程师的笔试试题。这些试题反映了当时阿里巴巴对于这些技术方向的基础知识、技能和解决问题能力的要求...
"ShoppingList:此存储库用于在带hilt的android上学习测试" 这个标题表明,这是一个关于Android应用开发的学习资源,主要关注的是如何在Android项目中集成和使用Hilt进行依赖注入,并且侧重于测试部分。Hilt是Google...
1. **Robotium简介**:Robotium提供了一套简洁的API,允许开发者编写针对Android应用的全自动测试脚本。它支持UI元素的自动点击、滑动、输入等操作,并能处理对话框、通知以及多活动间的切换。 2. **安装与配置**:...
在Java中,JUnit是一个广泛使用的单元测试框架,它提供了编写和运行测试用例的便利工具。学习者可能需要创建JUnit测试类,对代码的各个部分进行断言,以确保它们按预期工作。此外,Mockito是一个流行的库,用于模拟...
总的来说,Easymock 在Servlet单元测试中扮演了重要角色,它使得我们能够在控制环境中测试Servlet的参数处理逻辑,而无需实际的HTTP服务器。通过模拟 `HttpServletRequest` 并设定其行为,我们可以确保即使在复杂的...
在数据库相关的开发中,JUnit可以帮助我们编写针对数据库操作的测试,确保我们的DAO(Data Access Object)层和其他数据库交互代码能够按预期工作。 3. **数据库驱动jar**: 这个压缩包可能包含了特定数据库的JDBC...