怎么写Java测试代码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么写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. 使用文档生成器做测试文档。 参考技术A 楼主,你是不是想编写小程序在电脑上测试啊?
装个jdk
上百度输入jdk然后直接下载就行了
下载完以后
设置一下环境变量
右键单击---我的电脑----属性----高级-----环境变量
然后修改一下系统变量中的path路径
路径为C:\jdk1.6\bin;//此处为你的bin所在地址
然后点击确定就行了
在桌面新建文本文档
重命名,拓展名改为.java
在里面编程
保存
打开dos界面编译程序//dos会打开吗?,点击桌面左下角的开始菜单选择“运行”在文本框里输入cmd点击确定
javac 文件名(带拓展名) //成功则生成.class文件
解释程序
java 文件名(不带拓展名)
解释的这么清楚了,再不会也别问我了 参考技术B public static void main(String args[])
//这里写测试代码
//MyEclipse工具中你随便建立一个java项目,然后再建立一个类,就可以写测试代码了。
//前面的双斜线表示注释的意思,意思是你的这些代码不会被java执行。
希望采纳,谢谢,如果有什么不明白的可以继续。 参考技术C main方法
java spring项目的controller层的代码怎么用junit写单元测试用例
java spring项目的controller层的代码怎么用junit写单元测试用例。我用百度的方法不知道为什么进不去项目,不知道怎么搞,一运行就是说是一个空测试。
springboot与Junit有整合的方式,你可以模拟http请求从你的测试类发送请求到Controller,就像https://www.youyanpai.com/2018/springboot-test-with-junit4.html中描述的一样。下面我列出部分代码:
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class SimpleTest
private MockMvc mockMvc;
@Autowired
private WebApplicationContext webApplicationContext;
/**
* 前置处理
* @author 有言派
* @author www.youyanpai.com
*/
@Before
public void before() throws Exception
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
/**
* 测试方法
* @author 有言派
* @author www.youyanpai.com
*/
@Test
public void testYourMethod() throws Exception
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/login")
.param("username", "youyanpai.com")
.param("password", "youyanpai.com")
.session(session))
.andReturn();
int status = mvcResult.getResponse().getStatus();
String responseString = mvcResult.getResponse().getContentAsString(); //请求是否正确
Assert.assertEquals("请求错误", 200, status);
//输出返回值
System.out.println("有言派提示您,测试返回结果:"+responseString);
希望能够帮到你!
参考技术ASpring项目controller 是依赖springmvc的
直接启动测试,是没有初始化spring容器(web.xml中初始化)的
如果是dao层 service层的测试可以用单元测试,controller层建议还是 启动web项目吧
补充一下Java WEB开发基础知识
参考技术B 使用spring test加Mockito框架。需要添加第三方jar包以上是关于怎么写Java测试代码?的主要内容,如果未能解决你的问题,请参考以下文章