代码之家  ›  专栏  ›  技术社区  ›  Rich

是否有一个为通用Java接口预先构建的JUnit测试库?

  •  2
  • Rich  · 技术社区  · 15 年前

    setUp 插入特定的具体实现。在大多数情况下,我们实现的是java.util接口。对于常见的Java组件,有没有一套通用的严格的JUnit测试,或者某种框架可以减轻设计测试用例的痛苦?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Sean Patrick Floyd    15 年前

    Hamcrest 提供特定于地图和集合的多个匹配器。
    你可以在 tutorial .

    示例代码:

    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
  •  2
  •   Boris Pavlović    15 年前

    为了这些目的 mocking 可能是让单元测试使用“具体”实现的最简单方法。最好的方法之一是 Mockito .

        3
  •  1
  •   Stephen C    15 年前

    您可以看看ApacheHarmony和GNU类路径单元如何测试 java.util 上课。