zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    大家帮忙出几个招聘考试题目吧
    单元测试和设计模式在重构中的应用
    想起去年和女朋友第一次去吃饭的事情
    为什么我们常忘记使用正则表达式
    .NET实用设计模式:观察者模式(Observer)
    一个Outlook宏写的小程序,献给象我一样粗心大意的人
    单元测试应该测什么,不应该测什么?
    .NET实用设计模式:工厂模式(Factory)
    2021 系统架构设计师备考分享
    系统架构设计师论文企业集成
  • 原文地址:https://www.cnblogs.com/yumiaomiao/p/5913967.html
Copyright © 2011-2022 走看看