本篇文章给大家谈谈idea 接口测试用例,以及接口的测试用例对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享idea 接口测试用例的知识,其中也会对接口的测试用例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
如何在idea中创建一个测试类
1.安装插件File - Settings - Plugins 然后输入Junit
2.重启Idea
3.在你要创建测试用例的类中按 Ctrl + Shift + T
4.选中你要创建测试用例的方法。
5.OK
idea怎么使用idea添加junit case测试类
首先我需要先载相应 JUnit 相关 JAR 包载程 JUnit 官网站直接通 Maven 资源仓库完
使用简单 @Test 注解实现我测试编写执行
准备工作做接我始尝试编写壹简单测试代码首先我编写壹 Calculator 类并提供五别完加减乘除及求平运算代码:
package net.oschina.bairrfhoinn.main;
public class Calculator {
public void add(int n){
result += n;
}
public void substract(int n){
result -= n;
}
public void multiply(int n){
result *= n;
}
public void divide(int n){
result /= n;
}
public void square(int n){
result = n * n;
}
public int getReuslt(){
return result;
}
public void clear(){
result = 0;
}
private static int result;
}
测试类用JUnit4框架自要相应Package包含进主要Packageorg.junit.*包含进绝部功能句非重要import static org.junit.Assert.*;我测试候使用壹系列assertEquals()自包家注意壹壹静态包含(static)JDK5新增添壹功能说assertEqualsAssert类壹系列静态壹般使用式Assert. assertEquals()使用静态包含前面类名省略使用起更加便
另外要注意我测试类壹独立类没任何父类测试类名字任意命名没任何局限性所我能通类声明判断测试类与普通类区别于内部声明我接着讲测试类并每壹都用于测试所我必须使用注解明确表明哪些测试注解JDK5壹新特性用处非恰我看某些前@Before、@Test、@Ignore等字些注解壹@作些注解都JUnit4自定义熟练掌握些注解含义于编写恰测试类非重要
接我创建壹测试类 CalculatorTest.java代码:
package net.oschina.bairrfhoinn.test;
import static org.junit.Assert.*;
import org.junit.Test;
import net.oschina.bairrfhoinn.main.Calculator;
public class CalculatorTest {
private static Calculator calculator = new Calculator();
@Test
public void testAdd(){
calculator.add(7);
calculator.add(8);
assertEquals(15, calculator.getReuslt());
}
}
首先我要前面使用@Test标注表明壹测试于声明要求:名字随便取没任何限制返值必须void且能任何参数违反些规定运行抛壹异至于内该写些要看需要测试些比述代码我想测试壹add()功能否确测试调用几add函数初始值0先加7再加8我期待结应该15终实际结15则说明add()确反说明错assertEquals(15, calculator.getResult());用判断期待结实际结否相等其第壹参数填写期待结第二参数填写实际结通计算结写JUnit 自进行测试并测试结反馈给用户
想运行 eclipse 资源管理器选择该类文件点击右键选择 Run As-JUnit Test 即看运行结
使用@Test 属性 Ignore 指定测试跳
写程序前做规划哪些功能都应该实现并且确定即使该尚未完具体功能确定意味着编写测试用例已经该测试用例写完该尚未完测试候疑失败种失败真失败区别 JUnit 提供壹种区别种测试函数前面加 @Ignore 标注标注含义某些尚未完暂参与测试测试结提示几测试忽略失败壹旦完相应函数需要@Ignore标注删进行测试
比说面测试类 Calculator.java 假设我 Calculator 类 multiply() 没实现我测试类 CalculatorTest 先写测试代码:
package net.oschina.bairrfhoinn.test;
import static org.junit.Assert.*;
import org.junit.Ignore;
import org.junit.Test;
import net.oschina.bairrfhoinn.main.Calculator;
public class CalculatorTest {
private static Calculator calculator = new Calculator();
... //处代码省略
@Ignore("method square() not implemented, please test this later...")
@Test
public void testSquare(){
calculator.square(3);
assertEquals(9, calculator.getReuslt());
}
}
我再运行壹测试看结图明显看testSquare() @Ignore 注解已经效运行直接跳testAdd()仍运行并通测试
使用注解 @Before @After 完前置工作置工作
前置工作通指我测试运行前需要做壹些准备工作数据库连接、文件加载、输入数据准备等需要运行测试前做事情都属于前置工作;类似置工作则指测试运行壹些要做事情释放数据库连接、输入输流关闭等;比我面测试由于声明壹 Calculator 象初始值0测试完加操作值0;接测试减操作必要考虑加操作结绝壹糟糕设计我非希望每壹测试都独立相互间没任何耦合度我必要执行每壹测试前Calculator象进行壹复原操作消除其测试造影响任何壹测试执行前必须执行代码壹前置工作我用注解 @Before 标注例所示:
package net.oschina.bairrfhoinn.test;
...
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
public class CalculatorTest {
...//省略部代码
@Before
public void setUp() throws Exception {
calculator.clear();
}
@After
public void tearDown() throws Exception {
System.out.println("will do sth here...");
}
...//省略部代码
}
另外要说注解 @Before 定义 org.junit.Before 类使用需要其引入我代码做每我运行测试JUnit 都先运行 setUp() result 值清零要注意再需要 @Test 注解并壹 test壹前置工作同理任何测试执行需要进行收尾工作我应该使用 @After 标注与类似由于本例比较简单需要用功能所我简单给添加壹 tearDown() 并收尾打印壹句控制台并且使用 @After 注解
使用@BeforeClass @AfterClass 完需要执行壹前置工作置工作
面我提两注解 @Before @After 我看看否适合完功能:壹类负责文件(超500 MB)进行读写每壹都文件进行操作换句说调用每壹前我都要打壹文件并读入文件内容绝壹非耗费操作我使用 @Before @After 每测试都要读取壹文件效率及其低所我希望所测试壹始读壹文件所测试结束释放文件每测试都读文件JUnit作者显考虑问题给@BeforeClass @AfterClass 两注解帮我实现功能名字看用两注解标注函数测试用例初始化执行 @BeforeClass 所测试执行完毕执行 @AfterClass 进行收尾工作要注意壹每测试类能壹标注 @BeforeClass 或 @AfterClass且该必须 public static 类型
使用@Test 属性 timeout 完限测试检测代码死循环
现假设我 Calculator 类 square() 死循环应该办呢比说像面:
public void square(int n){
for(;;){}
}
测试候遇死循环脸绝露笑容于些逻辑复杂循环嵌套比较深、能现死循环程序壹定要采取壹些预防措施限测试壹解决案我给些测试函数设定壹预期执行间超壹间系统强行终止并且系统向汇报该函数结束原超发现些 Bug 要实现壹功能需要给 @Test 标注加壹参数timeout即代码:
@Test(timeout=2000L)
public void testSquare() {
calculator.square(3);
assertEquals(9, calculator.getReuslt());
}
timeout参数表明预计该运行单位毫秒2000代表2秒现我让测试运行壹看看失败效
使用@Test 属性expected监控测试能抛某些异
JAVA异处理壹重点经编写壹些需要抛异函数觉壹函数应该抛异没抛算算 Bug 呢BugJUnit 考虑壹点并且帮助我找种 Bug例我写计算器类除功能除数壹0必要抛除0异我必要些进行测试代码:
@Test(expected=java.lang.ArithmeticException.class)
public void testDivide(){
calculator.divide(0);
}
述代码所示我需要使用@Test注解expected属性我要检验异( java.lang.ArithmeticException)传递给 JUnit 框架能自帮我检测否抛我指定异
指定 JUnit 运行测试用例 Runner
家没想问题测试代码提交给JUnit框架框架何运行代码呢答案RunnerJUnitRunner负责调用测试代码每壹Runner都其各自特殊功能要根据需要选择同Runner运行测试代码能觉奇怪前面我写测试并没明确指定壹Runner啊JUnit壹默认Runner没指定系统自使用默认Runner运行代码换句说面两段代码含义完全壹:
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class CalculatorTest {
...//省略处代码
}
//用系统默认JUnit4.class运行效完全壹
public class CalculatorTest {
...//省略处代码
}
Intellij IDEA使用测试类
Intellij IDEA使用测试类的话一定要把测试类放到test测试类文件夹下面:
如果放到main文件夹下面就会无法导入测试类相关的包,如下图:
此外,Intellij IDEA只会默认执行类名为:Testxxxx /xxxTest / xxxTestCase这三个名称的测试类:
但是不要用Test作为类名,不然在测试方法上面写@Test的时候它会误以为是你自己写的Test的annotation。
idea 怎么快速创建junit
打开IntelliJ IDEA工具,Alt+Ctrl+S,打开设置窗口,点击进入Plugins.
从插件资源库中搜索JunitGenerator V2.0版本
安装此插件,重启IDEA就可以了。
现在可通过此工具自动完成test类的生成了,在需要进行单元测试的类中Alt+Insert,
IntelliJ IDEA JUnit Generator自动创建测试用例到指定test目录
1.打开File-Settings
2.搜索junit,找到JUnit Generator
3.Properties选项卡里的Output Path为测试用例生成的目录,修改为test目录:SOURCEPATH/../../test/java/SOURCEPATH/../../test/java/{PACKAGE}/${FILENAME}
4.切换到JUnit 4选项卡,可以修改生成测试用例的模板,比如类名、包名等
如何用idea 类实现servlet接口五个基础方法
init方法
idea 接口测试用例:
init(ServletConfig config)
Called by the servlet container to indicate to a servlet that the servlet is being placed into service.
在 Servlet 的生命期中
idea 接口测试用例,仅执行一次 init() 方法,它是在服务器装入 Servlet 时执行的。
可以配置服务器
idea 接口测试用例,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet。 无论有多少客户机访问 Servlet,都不会重复执行 init() 。
缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法来覆盖它,典型的是管理服务器端资源。 例如,可能编写一个定制 init() 来只用于一次装入 GIF 图像,改进 Servlet 返回 GIF 图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。缺省的 init() 方法设置
idea 接口测试用例了 Servlet 的初始化参数,并用它的 ServletConfig 对象参数来启动配置, 因此所有覆盖 init() 方法的 Servlet 应调用 super.init() 以确保仍然执行这些任务。在调用 service() 方法之前,应确保已完成了 init() 方法。
service方法:
service(ServletRequest req, ServletResponse res)
Called by the servlet container to allow the servlet to respond to a request.
service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet() 。
Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法,只需覆盖相应的 do 方法就可以了。
post方法与get方法:
当一个客户通过HTML 表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。
当一个客户通过HTML 表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。
一般开发采用post方法,大小一般限制为64KB。
destroy方法:
destroy()
Called by the servlet container to indicate to a servlet that the servlet is being taken out of service.
与init方法相类似,destroy() 方法仅执行一次,即在服务器停止且卸装Servlet 时执行该方法。典型的,将 Servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果 Servlet 在运行时会累计统计数据,则可以编写一个 destroy() 方法,该方法用于在未装入 Servlet 时将统计数字保存在文件中。另一个示例是关闭数据库连接。
当服务器卸装 Servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过后调用 destroy() 方法。一个Servlet 在运行service() 方法时可能会产生其它的线程,因此请确认在调用 destroy() 方法时,这些线程已终止或完成。
getServletInfo方法:
getServletInfo()
Returns information about the servlet, such as author, version, and copyright.
GetServletInfo()方法是一个可选的方法,它提供有关servlet 的信息,如作者、版本、版权。
当服务器调用sevlet 的Service()、doGet()和doPost()这三个方法时,均需要 "请求"和"响应"对象作为参数。"请求"对象提供有关请求的信息,而"响应"对象提供了一个将响应信息返回给浏览器的一个通信途径。
getServletConfig方法:
getServletConfig()
Returns a ServletConfig object, which contains initialization and startup parameters for this servlet.
getServletConfig() 方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和 ServletContext。ServletContext 接口提供有关 servlet 的环境信息。
关于idea 接口测试用例和接口的测试用例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
idea 接口测试用例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口的测试用例、idea 接口测试用例的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~