继续使用hamcrest-library来测试JAVA中类的属性,比较方便,
要使用JUnit 4.12 和 hamcrest-library 1.3
public class ClassPropertyTest {
//Single Object
@Test
public void testClassProperty() {
Book obj = new Book("Mkyong in Action");
assertThat(obj, hasProperty("name"));
assertThat(obj, hasProperty("name", is("Mkyong in Action")));
}
// List Objects
@Test
public void testClassPropertyInList() {
List<Book> list = Arrays.asList(
new Book("Java in Action"),
new Book("Spring in Action")
);
assertThat(list, containsInAnyOrder(
hasProperty("name", is("Spring in Action")),
hasProperty("name", is("Java in Action"))
));
}
public class Book {
public Book(String name) {
this.name = name;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
分享到:
相关推荐
- `<isNotPropertyAvailable>`:检查某个属性是否不存在于参数对象中。 - `<isNull>`:检查某个属性是否为null。 - `<isNotNull>`:检查某个属性是否不为null。 - `<isEmpty>`:检查某个属性是否为空,对于集合来说...
在自动化测试中,判断元素是否存在是基础操作之一。AutoJS SDK允许开发者通过编写JavaScript代码来检查特定UI元素是否在当前屏幕或应用中可见。这通常涉及到对Android系统的UI组件进行遍历和对比,确保在执行下一步...
1. 引入JUnit库:在你的测试类中,添加`import`语句以引入JUnit所需的类,如`junit.framework.TestCase`。 2. 创建测试类:创建一个新的类并让它继承自`TestCase`。例如,你可以创建一个名为`MathToolTest`的测试类...
- 类与对象:移动开户系统中,可能需要创建用户类(User)、账户类(Account)等,理解类的定义、属性和方法是基础。 - 继承与多态:通过继承实现不同类型的账户(如预付费账户、后付费账户),多态性可以确保代码...
TestTriangleProblem 类中定义了 testLab 方法,该方法使用 JUnit 测试 TriangleProblem 类的 lab 方法。 代码: ```java package cn.tjucrc.st; public class TriangleProblem { public static int result; ...
在使用反射时,尽量先判断目标类、方法或字段是否存在,避免空指针异常。在调用私有方法或访问私有字段时,要确保操作的合理性,防止破坏对象的内部状态。 以上就是Java中的反射机制及其相关知识点的详细介绍,...
子弹类测试主要关注子弹的属性,如速度、宽高、生存状态、好坏判断以及起始坐标和方向。测试包括子弹的初始化、绘制、移动、击中目标的检测以及与墙的碰撞检测。确保子弹按照设定轨迹飞行,并在击中目标后能正确消失...
- 可以使用`AnnotatedElement`接口的`isAnnotationPresent()`来判断是否存在特定注解。 9. **注解在框架中的应用** - Spring框架广泛使用注解进行依赖注入、AOP切面、事务管理等。 - Hibernate ORM使用注解进行...
例如,`isSquareEmpty()` 可用于检查目标位置是否有棋子,`checkCapture()` 判断是否存在吃子的情况。 此外,游戏逻辑包括玩家的回合交替、游戏结束条件(如将死、无棋可走)的判断等。这些通常通过主控制类或游戏...
10. **URL判断和文本获取**:为了验证网页内容,需要检查当前URL是否正确,并获取网页上特定文本元素的内容。实验可能包括对URL的比较(`baseUrl`)以及使用`getText()`方法获取网页元素的文本。 11. **异常处理**...
- 使用`if...else`、`switch`语句进行条件判断,如检查购物车是否为空,商品是否存在等。 - 使用`for`、`while`循环遍历购物车中的商品,执行特定操作。 6. **异常处理** - 编程过程中可能遇到各种异常,如空...
每个类包含属性(如员工ID、姓名、打卡时间)和方法(如打卡、查询考勤)。 2. **控制结构**:程序会使用条件语句(if-else)来判断是否在有效的工作时间内打卡,循环结构(for或while)用于遍历和处理大量数据。 ...
4. **条件(Conditions)**:条件元素允许在Ant任务中进行条件判断,如检查文件是否存在、属性是否已设置等,根据结果决定是否执行特定任务。 5. **目标(Targets)**:Ant构建过程由一系列相互依赖的目标组成,每...
这涉及到数学运算和条件判断,如根据商品总价判断是否达到优惠标准。 6. **文件操作**:为了保存和读取销售报表,需要了解Java的文件I/O操作。可以使用FileWriter和BufferedReader等类来实现。 7. **日期和时间...
5. **接口和泛型处理**:反射同样适用于接口,可以检查类是否实现了特定接口,通过`isAssignableFrom(Class<?> c)`判断。对于泛型,虽然运行时擦除,但可以通过方法签名获取到泛型信息。 6. **异常处理**:反射操作...
2. **封装**:通过将数据(私有变量)和操作数据的方法(getter和setter)封装在类中,实现信息隐藏,提高代码的安全性。例如,账户的余额只允许通过特定的方法进行增减。 3. **继承**:如果设计了多个类型的账户...
3. **控制流**:在处理账单时,我们需要用到条件语句(if...else)来判断是否达到某种条件,比如检查商品库存是否充足。循环(for,while)则用于遍历商品列表,计算总价。 4. **异常处理**:在实际系统中,可能...
- 学习过程中,学生需要学会编写单元测试来验证代码的正确性,使用如JUnit这样的测试框架,以及使用调试工具来查找和修复代码中的问题。 总的来说,这个Java初级项目为学习者提供了实际应用编程概念的机会,包括类...
反射提供了访问注解的能力,`Class`、`Method`、`Field`等都提供了`getAnnotations()`方法来获取声明的注解,`isAnnotationPresent(Class<? extends Annotation> annotationClass)`判断是否存在特定注解。...
7. **条件语句(Condition)**:Ant提供了一系列条件任务,如`available`检查文件或目录是否存在,`equals`比较两个字符串是否相等,`isset`检查属性是否已设置。这些条件可以用于控制构建流程的分支。 8. **脚本...