【发布时间】:2012-10-05 16:15:36
【问题描述】:
我正在使用 JUnit 和 Mockito 来测试一些类。类本身从另一个类创建一个对象。一个名为 testList 的列表。这是我的代码:
public class A {
private List<B> bList;
//returns the bList
public List<B> getBList() {
return bList;
}
//checks the status by calling getStatus in class B
public Status getStatus() {
//status is an enum consists of PASSED and FAILED
Status finalStatus = Status.PASSED;
for (B be : this.getTestList()) {
if (be.getStatus() != Status.PASSED) {
finalStatus = Status.FAILED;
break;
}
}
return status;
}
}
public Class B {
private Status status = Status.FAILED;
public getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
}
在名为 Test 的类中测试 getStatus 和 getTestList 方法的最佳方法是什么。
非常感谢……
【问题讨论】:
-
名称中带有Test的两个类实际上并不是测试。在关于测试的讨论中,这有点让人头疼。
-
@SimonGibbs 是的。我发布的课程不是测试,这些是应该测试的课程。让我们想象这些类将被命名为 A 和 B :)
-
我同意西蒙关于弯头的说法。顺便说一句,您尝试过捕获吗?
-
我更改了类名。你是对的,他们一直在混淆。我的问题:我如何测试 A 类中的方法 getStatus,因为它使用 B 类的外部方法 getStatus。有没有模拟对象的方法?
标签: java unit-testing junit mockito