
正文
怎么编写java测试代码 java编写完测试代码 怎么运行
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java写一个测试程序
//刚才修改了一下后面排序,你在看看第一次,忘记了!!
public class OrderDemo1
{
public static void main(String[] args)
{
System.out.println("\n\t\t==========升级需求!==========\n");
init();
}//初始化!
private static void init()
{
Order[] orr=new Order[5];
int n=1000,m=10;
//创建对象!
for (int i=0;i5;i++)
{
orr[i]=new Order();
int number[]=new int[5],money[]=new int[5];
String[] srr=new String[5];
for (int j=0;j5 ;j++ )
{
number[j]=n++;
money[j]=m++;
srr[j]=(char)(m+54)+"商品0"+j;
}
orr[i].set(number,money,srr);
}
//调用toString打印功能!
for (int i=0;iorr.length;i++)
{
System.out.println("\t\t编号"+(i+1)+"订单细分如下:");
orr[i].toString();
System.out.println();
}
System.out.println("\t\t-------------按照金额大小倒序打印----------------\n");
//按照订单金额倒序!
for (int i=orr.length-1;i=0;i--)
{
orr[i].tostring();
}
}
}
//订单!
class Order
{
private int[] number=new int[5];//订单号!
private int[] money=new int[5];//订单金额!
private String[] arr=new String[5];//商品数组!
void set(int[] number,int[] money,String[] arr)
{
this.number=number;
this.money=money;
this.arr=arr;
}
//重写toString
public String toString()
{
for (int i=0;iarr.length ;i++ )
{
System.out.println("商品编号="+number[i]+"\t订单金额="+money[i]+"\t商品名称="+arr[i]);
}
return "";
}
public String tostring()
{
for (int i=arr.length-1;i=0 ;i-- )
{
System.out.println("商品编号="+number[i]+"\t订单金额="+money[i]+"\t商品名称="+arr[i]);
}
return "";
}
}
相关问答
Q1: java抽象类怎么写单元测试
编写良好的单元测试是一项技术工作,本文介绍了这些优秀的框架,同时还详细介绍了创建优秀的Sping Boot单元测试所需的技术
添加依存关系
org.springframework.boot
spring-boot-starter-test
测试
org.junit.jupiter
日本铁路公司
5.5.2
测试
org.projectlombok
lombok
缺省情况下,spring-boot-starter-test部署了Mockito和AssertJ,但必须自己手动部署Lombok、JUnit5。
请勿使用Spring进行单元测试
请看下面的“单元”测试。 测试RegisterUseCase类的方法。
@ extend with (spring extension.class ) )。
@SpringBootTest
class RegisterUseCaseTest {
@Autowired
私有注册用户访问权限;
@Test
voidsaveduserhasregistrationdate (
useruser=newuser('zaphod ',' zaphod@mail.com);
usersaveduser=register use case.register user;
资产that (saved user.getregistrationdate () ).isNotNull );
}
}
运行这个测试类大约花了4.5秒。 这是因为计算机运行空的Spring项目。
但是,好的单体测试必须是毫秒级。 否则,会影响“test/code/test”的工作方式。 这也就是说,是测试驱动开发的思想——TDD。 即使我们不做TDD,如果写测试花了太多时间也会影响开发思路。
其实,上面的测试方法实际运行只需要几毫秒。 剩下的4.5秒全部花在@SpringBootRun上。 因为Spring Boot需要启动整个spring boot APP。
也就是说,我们启动整个APP应用程序,消耗大量资源,只是为了测试一种方法,当我们的APP应用程序越来越大的时候,它需要更长的时间启动。
所以,为什么不在Spring Boot上进行单元测试呢? 接下来,本文介绍了如何在不使用Spring Boot的情况下进行单元测试。
创建测试类
通常,有以下几种方法可以方便地测试Spring beans :
不要注入
首先,让我们看一个错误的例子:
@Service
公共类注册用户使用情况{
@Autowired
隐私用户repositoryuserrepository;
publicuserregisteruser (用户) {
returnuserrepository.save(user;
}
}
但是,这个类必须在Spring中运行。 因为无法绕过名为UserRepository的实例。 如上所述,必须改变不使用@Autowired注入用户存储库的方式。
知识点:不要注入
写构造函数
看看不使用@Autowired的写法吧:
@Service
公共类注册用户使用情况{
私有用户报告库;
publicregisterusecase (用户信息库用户信息库) {
this.user存储库=user存储库;
}
publicuserregisteruser (用户) {
returnuserrepository.save(user;
}
}
此版本使用构造函数部署了UserRepository实例。 在单元测试中,可以这样构建实例。
Spring会自动使用构造函数实例化RegisterUseCase对象。 必须注意的是,在Spring 5之前启用构造函数需要@Autowired注释。
请注意,用户资料档案库字段当前为final。 由此,在APP应用程序的整个生命周期中
将是个常量,这可以避免编码错误,因为我们如果忘记初始化字段,编译的时候就会报错。
减少繁复的代码
Q2: 怎么用Eclipse编写测试Java软件
1)启动Eclipse软件
2)对总体界面进行简单介绍
2
1 对Package explorer(包浏览器)简单介绍下,
2 包浏览器中树形结构显示可以单击打开和关闭节点
3 可以通过navigate-show in-package explorer打开
END
创建一个Java工程
新建一个Java工程:
1) 可以通过快速启动栏创建点击图标-JavaProject
2) 通过菜单栏创建file-New-JavaProject
为工程创建一个类:
1)单击选中工程
2)右键单击选择new
3)单击class新建类
4)设置类名
5)点击右下角确定按钮
包和类创建完成后接可以再包浏览器中双击类名在代码编辑区打开类对类进行代码编辑了
软件运行测试
在代码编辑区编辑必要的代码,代码编写过程中要记得保存以免停电等原因造成代码丢失
1)代码编写好后点击快速启动栏的run as图标
2)选Java application-确定
3)选中我们要运行的程序-确定
在软件最下面我们就可以看到运行的结果了
Q3: 怎么写Java测试代码?
可以用main函数和JUnit来写测试代码。main是最早使用的,但是现在更流行的测试工具是JUnit。
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
下面是一些具体的编写测试代码的技巧或较好的实践方法:
1. 不要用TestCase的构造函数初始化Fixture,而要用setUp()和tearDown()方法。
2. 不要依赖或假定测试运行的顺序,因为JUnit利用Vector保存测试方法。所以不同的平台会按不同的顺序从Vector中取出测试方法。
3. 避免编写有副作用的TestCase。例如:如果随后的测试依赖于某些特定的交易数据,就不要提交交易数据。简单的回滚就可以了。
4. 当继承一个测试类时,记得调用父类的setUp()和tearDown()方法。
5. 将测试代码和工作代码放在一起,一边同步编译和更新。(使用Ant中有支持junit的task.)
6. 测试类和测试方法应该有一致的命名方案。如在工作类名前加上test从而形成测试类名。
7. 确保测试与时间无关,不要依赖使用过期的数据进行测试。导致在随后的维护过程中很难重现测试。
8. 如果你编写的软件面向国际市场,编写测试时要考虑国际化的因素。不要仅用母语的Locale进行测试。
9. 尽可能地利用JUnit提供地assert/fail方法以及异常处理的方法,可以使代码更为简洁。
10.测试要尽可能地小,执行速度快。
11.不要硬性规定数据文件的路径。
12.利用Junit 的自动异常处理书写简洁的测试代码
事实上在Junit 中使用try-catch 来捕获异常是没有必要的,Junit 会自动捕获异常。那些没有被捕获的异常就被当成错误处理。
13. 充分利用Junit 的assert/fail 方法
assertSame()用来测试两个引用是否指向同一个对象
assertEquals()用来测试两个对象是否相等
14. 确保测试代码与时间无关
15. 使用文档生成器做测试文档。
Q4: 北大青鸟java培训:五个方法让你做更好的java单元测试?
单元测试是我们在软件开发过程中经常用到的一种软件测试的方法,而今天我们就一起来了解一下,一个好的单元测试都是如何来编辑完成的。
1.使用框架来用于单元测试Java提供了若干用于单元测试的框架。
TestNG和JUnit是流行的测试框架。
JUnit和TestNG的一些重要功能:易于设置和运行。
支持注释。
允许忽略或分组并一起执行某些测试。
支持参数化测试,即通过在运行时指定不同的值来运行单元测试。
通过与构建工具,如Ant,Maven和Gradle集成来支持自动化的测试执行。
EasyMock是一个模拟框架,是单元测试框架,如JUnit和TestNG的补充。
EasyMock本身不是一个完整的框架。
它只是添加了创建模拟对象以便于测试的能力。
例如,我们想要测试的一个方法可以调用从数据库获取数据的DAO类。
在这种情况下,EasyMock可用于创建返回硬编码数据的MockDAO。
这使我们能够轻松地测试我们意向的方法,而不必担心数据库访问。
2.谨慎使用测试驱动开发!测试驱动开发(TDD)是一个软件开发过程,在这过程中,在开始任何编码之前,我们基于需求来编写测试。
由于还没有编码,测试初会失败。
然后写入小量的代码以通过测试。
然后重构代码,直到被优化。
目标是编写覆盖所有需求的测试,而不是一开始就写代码,却可能甚至都不能满足需求。
TDD是伟大的,因为它导致简单的模块化代码,且易于维护。
总体开发速度加快,容易发现缺陷。
此外,单元测试被创建作为TDD方法的副产品。
然而,TDD可能不适合所有的情况。
在设计复杂的项目中,专注于简单的设计以便于通过测试用例,而不提前思考可能会导致巨大的代码更改。
此外,TDD方法难以用于与遗留系统,GUI应用程序或与数据库一起工作的应用程序交互的系统。
另外,测试需要随着代码的改变而更新。
因此,在决定采用TDD方法之前,应考虑上述因素,并应根据项目的性质采取措施。
3.测量代码覆盖率代码覆盖率衡量(以百分比表示)了在运行单元测试时执行的代码量。
通常,高覆盖率的代码包含未检测到的错误的几率要低,因为其更多的源代码在测试过程中被执行。
河北电脑培训发现测量代码覆盖率的一些佳做法包括:使用代码覆盖工具,如Clover,Corbetura,JaCoCo或Sonar。
使用工具可以提高测试质量,因为这些工具可以指出未经测试的代码区域,让你能够开发开发额外的测试来覆盖这些领域。
怎么编写java测试代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java编写完测试代码 怎么运行、怎么编写java测试代码的信息别忘了在本站进行查找喔。







