本学期我正在教一个数据结构类,我们在给定组件接口的情况下构建了一系列JUnit测试。然后,我们使用setUp
来插入特定的具体实现。在大多数情况下,我们正在实现java.util接口。是否有针对常见Java组件的一组通用严格的JUnit测试,或者某种类型的框架使测试用例的设计不那么痛苦?
答案 0 :(得分:2)
答案 1 :(得分:2)
Hamcrest提供了一些特定于地图和收藏集的匹配器 您可以在tutorial。
中找到它们(JUnit 4.x包含Hamcrest)
示例代码:
import static org.junit.Assert.*;
import static org.junit.matchers.JUnitMatchers.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
public class DummyTest{
@Test
public void someTest(){
final Collection<Integer> coll = Arrays.asList(1, 2, 3, 4, 5);
assertThat(coll, hasItems(5, 4, 3, 2, 1));
assertThat(coll, not(hasItems(6)));
assertThat(coll,
both(
is(List.class)
).and(
equalTo(
Arrays.asList(
0x1,0x2,0x3,0x4,0x5
)
)
));
}
}
您的主要出发点是这些便利课程:
答案 2 :(得分:1)
您可以看看Apache Harmony和GNU Classpath单元如何测试java.util
类的各自洁净室实现。