《Java-Junit单元测试无法使用scanner输入和I-O流的解决方案》由会员分享,可在线阅读,更多相关《Java-Junit单元测试无法使用scanner输入和I-O流的解决方案(5页珍藏版)》请在金锄头文库上搜索。
1、 JavaJunit单元测试无法使用scanner输入和I/O流的解决方案 JavaJunit单元测试无法使用scanner输入和I/O流的解决方案目标: A.什么是单元测试? B. junit是什么? C. 如何写单元测试? D. 单元测试中使用scanner输入和I/O流无反应如何解决?参考文章 JAVA单元测试的用法和要点(入门篇) Java的简单单元测试例子1.什么是单元测试? 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。简单的说,单元测试就是对你程序中最
2、小的功能模块进行测试,在c/c+语言里可能是一个函数,java中可能是一个方法或者类。 单元测试是编写测试代码,用以检测特定的、明确的、细颗粒的功能! 严格来说,单元测试只针对功能点进行测试,不包括对业务流程正确性的测试。简单的说,单元测试目的:提高代码的质量。哪家公司都不敢把有问题的代码打包部署上线。现在一般公司都会进行业务流程的测试,这也要求测试人员需要了解需求【产品、算法、后端、前端与测试都要对齐】!2.junit是什么? 目前开发所用的单元是Junit框架,在大多数java的开发环境中已经集成,可以方便开发自己调用!那么junit到底是什么? JUnit是一个Java语言的单元测试框架
3、,由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 换句话说,junit就是别人写好的单元测试框架,使用此框架可以大大缩短你的测试时间和准确度。3.如何写单元测试? 首先在pom.xml中添加依赖 添加功能类函数 添加测试类函数这里以Java的简单单元测试例子作实验,展示一下结果。4.单元测试中使用scanner输入和I/O流无反应如何解决? 一般情况,单元测试都是将测试数据直接定义在测试类中。但是,有时候想偷
4、懒或者循环多次测试,怎么办?使用scanner输入和I/O流。尝试过的朋友相信都知道,单元测试中使用scanner输入和I/O流是没有任何反应的。不是你写得代码有问题哈,不要怀疑自己。网上这方面有很多解决方案,个人觉得最偷懒的方法: A. 通过IDEA工具Help-Edit Custom VM Options打开配置文件位置 B. 修改配置文件idea64.exe.vmoptions,在最后一行添加:-Deditable.java.test.console=true C. 重启IDEA【必须重启哈】实在不懂,参考IDEA的junit单元测试Scanner输入无效重启IDEA后,单元测试的效果如下:说明: 【while statement cannot complete without throwing an exception】的解决方案为:强迫症患者可以在线程的执行方法上加入注解SuppressWarnings(InfiniteLoopStatement)-全文完-