• 【week3】词频统计 单元测试


    使用Eclipse 集成的Junit进行单元测试。单元测试的核心包括断言、注解。

    测试代码如下:

           @BeforeClass
    	// 针对所有测试,只执行一次,且必须为static void
    	public static void setUpBeforeClass() throws Exception {
    		System.out.println("in BeforeClass================");
    	}
    
    	@AfterClass
    	// 针对所有测试,只执行一次,且必须为static void
    	public static void tearDownAfterClass() throws Exception {
    		System.out.println("in AfterClass=================");
    	}
    
    	@Before
    	// 初始化资源
    	public void before() {
    		System.out.println("in Before");
    	}
    
    	@After
    	// 释放资源
    	public void after() {
    		System.out.println("in After");
    	}
    
    	@Test
    	public void testMain() {
    		  System.out.println("请输入要统计的文件路径");
                  Scanner sc = new Scanner(System.in);
                  String road = sc.nextLine();
                  FileInputStream fis = new FileInputStream(road);// 要读的文件路径
                  File f = new File(road);
                  File s[] = f.listFiles();
                  for (int i = 0; i < s.length; i++) {
                      String fileName = s[i].getName();
                      if (fileName.endsWith(".txt")) {
                          sortAndOutput(road);
                      }
                  }
                  System.out.println("测试main");
                  fail("Not yet implemented"); }

    运行结果:

    一个测试类单元测试的执行顺序为:

    @BeforeClass –> @Before –> @Test –> @After –> @AfterClass

    每一个测试方法的调用顺序为:

    @Before –> @Test –> @After

    出现程序运行正确但是测试结果出现错误的情况。

    创建一个hashmap存储预期答案

    static Map<String, Integer> map = new HashMap<String, Integer>();
    	@Parameters
    	//指定测试类的测试数据集合
    	   map.put("my", 1);
              map.put("english", 1);
              map.put("is", 1);
              map.put("very", 2);
              map.put("poor", 2);
              return Arrays.asList(new Object[][] {
                  { "D:1.txt", map  },
              }); }

     代码覆盖率就是所写的单元测试所测试到的代码比例。

    PSP:

    单元测试感受:确定期待的输出结果,与运行结果对比,使自己直观的感受到正确与错误是很好的方法。

    由于自己的代码没有分功能写成不同的函数,单元测试效果不好,有待进一步学习。

     git:git.coding.net/yumiaomiao/WordCountJunit.git

    ssh: git@git.coding.net:yumiaomiao/WordCountJunit.git

  • 相关阅读:
    孙权用人之道:“六力”兼备
    JDK 自带工具试用(一)
    Apache ab 测试工具使用(一)
    Amoeba详细介绍
    TCP/IP 标志位 SYN ACK RST UTG PSH FIN
    ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
    jsp 中声明方法的使用
    Java遍历一个文件夹下的全部文件
    WAMP 2.5 &quot;FORBIDDEN&quot; error
    LeetCode总结--二分查找篇
  • 原文地址:https://www.cnblogs.com/yumiaomiao/p/5913967.html
Copyright © 2020-2023  润新知