【week3】词频统计 单元测试

本文介绍使用Eclipse集成的Junit进行单元测试的方法,详细展示了@BeforeClass、@AfterClass、@Before、@After和@Test等注解的应用,并讨论了单元测试的执行顺序及测试数据的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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

转载于:https://www.cnblogs.com/yumiaomiao/p/5913967.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值