首页 > 其他分享 >无涯教程-JUnit - Ignore测试

无涯教程-JUnit - Ignore测试

时间:2024-01-12 18:31:38浏览次数:23  
标签:无涯 junit Ignore org import message public JUnit

有时会发生这样的情况,无涯教程的代码在运行测试用例时还没有完全准备好, @Ignore 注释在这种情况下会有所帮助。

  • 带有@Ignore注释的测试方法将不会执行。

  • 如果使用@Ignore注释测试类,则不会执行其所有测试方法。

现在看看@Ignore的作用。

创建测试类

在C:\> JUNIT_WORKSPACE中创建一个要测试的Java类,例如MessageUtil.java。

/*
* 此类在控制台上打印给定的消息。
*/

public class MessageUtil {

   private String message;

   //构造函数
   //@param message to be printed
   public MessageUtil(String message){
      this.message = message; 
   }

   //打印消息
   public String printMessage(){
      System.out.println(message);
      return message;
   }   

   //添加“Hi!”到消息
   public String salutationMessage(){
      message = "Hi!" + message;
      System.out.println(message);
      return message;
   }   
	
}  

创建测试用例类

  • 创建一个Java测试类,例如TestJunit.java。

  • 将测试方法testPrintMessage()或testSalutationMessage()添加到测试类。

  • 向方法testPrintMessage()添加注释@Ignore。

在C:\JUNIT_WORKSPACE中创建一个名为 TestJunit.java 的Java类文件。

import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;

public class TestJunit {

   String message = "Robert";	
   MessageUtil messageUtil = new MessageUtil(message);
   
   @Ignore
   @Test
   public void testPrintMessage() {
      System.out.println("Inside testPrintMessage()");
      message = "Robert";
      assertEquals(message,messageUtil.printMessage());
   }

   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Robert";
      assertEquals(message,messageUtil.salutationMessage());
   }
	
}

创建测试运行类

在C:\> JUNIT_WORKSPACE中创建一个名为TestRunner.java的Java类文件以执行测试用例。

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class TestRunner {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit.class);

      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
		
      System.out.println(result.wasSuccessful());
   }
}  	

使用javac编译MessageUtil,测试用例和测试运行器类。

C:\JUNIT_WORKSPACE>javac MessageUtil.java TestJunit.java TestRunner.java

现在运行Test Runner,它将不会运行在提供的Test Case类中定义的testPrintMessage()测试用例。

C:\JUNIT_WORKSPACE>java TestRunner

验证输出。未测试testPrintMessage()测试用例。

Inside testSalutationMessage()
Hi!Robert
true

现在,在C:\> JUNIT_WORKSPACE中更新TestJunit以忽略所有测试用例。在类级别添加@Ignore。

import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;

@Ignore
public class TestJunit {

   String message = "Robert";	
   MessageUtil messageUtil = new MessageUtil(message);
     
   @Test
   public void testPrintMessage() {
      System.out.println("Inside testPrintMessage()");
      message = "Robert";
      assertEquals(message,messageUtil.printMessage());
   }

   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Robert";
      assertEquals(message,messageUtil.salutationMessage());
   }
	
}

使用javac编译测试用例。

C:\JUNIT_WORKSPACE>javac TestJunit.java

保持测试运行器不变,如下所示:

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class TestRunner {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit.class);
		
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
		
      System.out.println(result.wasSuccessful());
   }
}

现在运行Test Runner,它将不会运行在提供的Test Case类中定义的任何测试用例。

C:\JUNIT_WORKSPACE>java TestRunner

验证输出。没有测试用例。

true

参考链接

https://www.learnfk.com/junit/junit-ignore-test.html

标签:无涯,junit,Ignore,org,import,message,public,JUnit
From: https://blog.51cto.com/u_14033984/9221014

相关文章

  • 无涯教程-JUnit - 套件测试
    测试套件(SuiteTest)用于捆绑一些单元测试用例并一起运行。在JUnit中,@RunWith和@Suite批注都用于运行套件测试。本章以包含两个测试类TestJunit1和TestJunit2的示例为例,这两个测试类使用TestSuite一起运行。创建测试类在C:\>JUNIT_WORKSPACE中创建一个要测试的Java类,例如Mes......
  • 无涯教程-JUnit - 使用断言
    所有的断言都在Assert类中。publicclassAssertextendsjava.lang.Object此类提供了一组断言方法,可用于编写测试。Assert类的一些重要方法如下-Sr.No.Methods&Remark1voidassertEquals(booleanexpected,booleanactual)检查两个primitives/object是否相等。2......
  • 无涯教程-JUnit - 编写测试
    在这里,无涯教程将看到一个使用POJO类,业务逻辑类和一个测试类进行JUnit测试的完整示例,该类将由测试运行程序运行。在C:\>JUNIT_WORKSPACE中创建EmployeeDetails.java,这是一个POJO类。publicclassEmployeeDetails{privateStringname;privatedoublemonthlySalary......
  • 无涯教程-JUnit - 测试框架
    JUnit是回归测试框架,开发人员可以使用它来用Java实施单元测试,从而加快编程速度并提高代码质量。 JUnit函数JUnit测试框架提供以下重要函数-FixturesTestsuitesTestrunnersJUnitclassesFixturesFixtures是一组对象的固定状态,目的是确保在固定环境中运行测试,以便结果可......
  • 无涯教程-JUnit - 环境设置
    JUnit是Java的框架,因此最首要的要求是在计算机上安装JDK。步骤1-验证Java安装首先,打开控制台并根据您正在使用的操作系统执行Java命令。OSTaskCommandWindowsOpenCommandConsolec:\>java-versionLinuxOpenCommandTerminal$java-versionMacOpenTerminalma......
  • 无涯教程-JUnit - 简介
    JUnit是一个Java语言的单元测试框架。它由肯特·贝克和埃里希·伽玛(ErichGamma)建立,逐渐成为源于KentBeck的sUnit的xUnit家族中为最成功的一个。JUnit有它自己的JUnit扩展生态圈。JUnit提倡"先测试然后编码"的思想,该思想强调为可以先测试然后实现的一段代码设置测试数据。这种......
  • 无涯教程-JSON - Python编程
    本章介绍如何使用Python编程语言编码和解码JSON对象。让我们从准备环境开始,以使用Python进行JSON编程。在开始使用Python编码和解码JSON之前,您需要安装任何可用的JSON模块,在本教程中,我们已经下载并安装了Demjson,如下所示-$tarxvfzdemjson-1.6.tar.gz$cddemjson-1.6$pyt......
  • 无涯教程-JSON - Perl编程
    本章介绍如何使用Perl编程语言编码和解码JSON对象,让我们从准备环境开始,开始使用PerlforJSON进行编程。在使用Perl编码和解码JSON之前,需要安装JSON模块,该模块可以从CPAN获得。下载JSON-2.53.tar.gz或任何其他最新版本后,请按照以下步骤操作-$tarxvfzJSON-2.53.tar.gz$cdJSO......
  • 无涯教程-Redis - TIME 命令函数
    RedisTIME命令以两个项目列表的形式返回当前服务器时间-一个Unix时间戳和在当前秒中已经经过的微秒数。TIME-返回值包含两个元素-当前时间(以UNIX时间戳格式表示),以秒为单位。当前这一秒钟已经逝去的微秒数。TIME-语法以下是RedisTIME命令的基本语法。redi......
  • 无涯教程-Redis - SYNC 命令函数
    RedisSYNC命令用于将从站同步到主站。SYNC-返回值返回字符串内容。SYNC-语法以下是RedisSYNC命令的基本语法。redis127.0.0.1:6379>SYNCSYNC-示例redis127.0.0.1:6379>SYNCEnteringslaveoutputmode...(pressCtrl-Ctoquit)SYNCwithmaster,......