Java: Chạy JUnit bằng Ant


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Chúng tôi sẽ có một ví dụ để minh họa cách chạy JUnit bằng ANT. Bạn hãy làm theo các bước dưới đây.

Bước 1: Tải xuống Apache Ant

Tải xuống Apache Ant dựa trên hệ điều hành bạn đang làm việc.

Hệ điều hành Tên lưu trữ
Windows apache-ant-1.8.4-bin.zip
Linux apache-ant-1.8.4-bin.tar.gz
Mac apache-ant-1.8.4-bin.tar.gz

Bước 2: Thiết lập môi trường Ant

Đặt biến môi trường ANT_HOME trỏ đến vị trí thư mục cơ sở, nơi các thư viện ANT được lưu trữ trên máy của bạn. Giả sử các thư viện Ant được lưu trữ trong thư mục apache-ant-1.8.4.

Sr.No. Hệ điều hành & Mô tả
1

Windows

Đặt biến môi trường ANT_HOME thành C:\Program Files\Apache Software Foundation\apache-ant-1.8.4

2

Linux

Export ANT_HOME = /usr/local/apache-ant-1.8.4

3

Mac

Export ANT_HOME = /Library/apache-ant-1.8.4

Nối vị trí trình biên dịch Ant vào Đường dẫn Hệ thống như sau:

Hệ điều hành Đầu ra
Windows Nối chuỗi %ANT_HOME\bin vào cuối biến hệ thống Path.
Linux Export PATH = $PATH:$ANT_HOME/bin/
Mac không yêu cầu

Bước 3: Tải xuống JUnit Archive

Tải xuống Kho lưu trữ JUnit phù hợp với hệ điều hành của bạn.

Hệ điều hành Tên lưu trữ
Windows junit4.10.jar
Linux junit4.10.jar
Mac junit4.10.jar

Bước 4: Tạo cấu trúc dự án

  • Tạo một thư mục TestJunitWithAnt trong C:\>JUNIT_WORKSPACE.
  • Tạo một thư mục src trong C:\>JUNIT_WORKSPACE>TestJunitWithAnt.
  • Tạo thư mục test trong C:\>JUNIT_WORKSPACE>TestJunitWithAnt.
  • Tạo một thư mục lib trong C:\>JUNIT_WORKSPACE>TestJunitWithAnt.
  • Tạo lớp MessageUtil trong C:\>JUNIT_WORKSPACE>TestJunitWithAnt>srcfolder.
/*
* This class prints the given message on console.
*/

public class MessageUtil {

   private String message;

   //Constructor
   //@param message to be printed
   public MessageUtil(String message){
      this.message = message; 
   }

   // prints the message
   public String printMessage(){
      System.out.println(message);
      return message;
   }   

   // add "Hi!" to the message
   public String salutationMessage(){
      message = "Hi!" + message;
      System.out.println(message);
      return message;
   }   
}  	

Tạo lớp TestMessageUtil trong thư mục C:\>JUNIT_WORKSPACE>TestJunitWithAnt>src.

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

public class TestMessageUtil {

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

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

Sao chép junit-4.10.jar vào thư mục C: \> JUNIT_WORKSPACE> TestJunitWithAnt> lib.

Tạo ANT Build.xml

Chúng tôi sẽ sử dụng tác vụ <junit> trong Ant để thực thi các test case JUnit của chúng tôi.

<project name = "JunitTest" default = "test" basedir = ".">
   <property name = "testdir" location = "test" />
   <property name = "srcdir" location = "src" />
   <property name = "full-compile" value = "true" />
	
   <path id = "classpath.base"/>
	
   <path id = "classpath.test">
      <pathelement location = "lib/junit-4.10.jar" />
      <pathelement location = "${testdir}" />
      <pathelement location = "${srcdir}" />
      <path refid = "classpath.base" />
   </path>
	
   <target name = "clean" >
      <delete verbose = "${full-compile}">
         <fileset dir = "${testdir}" includes = "**/*.class" />
      </delete>
   </target>
	
   <target name = "compile" depends = "clean">
      <javac srcdir = "${srcdir}" destdir = "${testdir}" 
         verbose = "${full-compile}">
         <classpath refid = "classpath.test"/>
      </javac>
   </target>
	
   <target name = "test" depends = "compile">
      <junit>
         <classpath refid = "classpath.test" />
         <formatter type = "brief" usefile = "false" />
         <test name = "TestMessageUtil" />
      </junit>
   </target>
	
</project>

Chạy lệnh Ant sau đây.

C:\JUNIT_WORKSPACE\TestJunitWithAnt>ant

Xác minh kết quả đầu ra.

Buildfile: C:\JUNIT_WORKSPACE\TestJunitWithAnt\build.xml

clean:

compile:
[javac] Compiling 2 source files to C:\JUNIT_WORKSPACE\TestJunitWithAnt\test
[javac] [parsing started C:\JUNIT_WORKSPACE\TestJunitWithAnt\src\
MessageUtil.java]
[javac] [parsing completed 18ms]
[javac] [parsing started C:\JUNIT_WORKSPACE\TestJunitWithAnt\src\
TestMessageUtil.java]
[javac] [parsing completed 2ms]
[javac] [search path for source files: C:\JUNIT_WORKSPACE\
TestJunitWithAnt\src]
[javac] [loading java\lang\Object.class(java\lang:Object.class)]
[javac] [loading java\lang\String.class(java\lang:String.class)]
[javac] [loading org\junit\Test.class(org\junit:Test.class)]
[javac] [loading org\junit\Ignore.class(org\junit:Ignore.class)]
[javac] [loading org\junit\Assert.class(org\junit:Assert.class)]
[javac] [loading java\lang\annotation\Retention.class
(java\lang\annotation:Retention.class)]
[javac] [loading java\lang\annotation\RetentionPolicy.class
(java\lang\annotation:RetentionPolicy.class)]
[javac] [loading java\lang\annotation\Target.class
(java\lang\annotation:Target.class)]
[javac] [loading java\lang\annotation\ElementType.class
(java\lang\annotation:ElementType.class)]
[javac] [loading java\lang\annotation\Annotation.class
(java\lang\annotation:Annotation.class)]
[javac] [checking MessageUtil]
[javac] [loading java\lang\System.class(java\lang:System.class)]
[javac] [loading java\io\PrintStream.class(java\io:PrintStream.class)]
[javac] [loading java\io\FilterOutputStream.class
(java\io:FilterOutputStream.class)]
[javac] [loading java\io\OutputStream.class(java\io:OutputStream.class)]
[javac] [loading java\lang\StringBuilder.class
(java\lang:StringBuilder.class)]
[javac] [loading java\lang\AbstractStringBuilder.class
(java\lang:AbstractStringBuilder.class)]
[javac] [loading java\lang\CharSequence.class(java\lang:CharSequence.class)]
[javac] [loading java\io\Serializable.class(java\io:Serializable.class)]
[javac] [loading java\lang\Comparable.class(java\lang:Comparable.class)]
[javac] [loading java\lang\StringBuffer.class(java\lang:StringBuffer.class)]
[javac] [wrote C:\JUNIT_WORKSPACE\TestJunitWithAnt\test\MessageUtil.class]
[javac] [checking TestMessageUtil]
[javac] [wrote C:\JUNIT_WORKSPACE\TestJunitWithAnt\test\TestMessageUtil.class]
[javac] [total 281ms]

test:
[junit] Testsuite: TestMessageUtil
[junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.008 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] Inside testPrintMessage()
[junit] Robert
[junit] Inside testSalutationMessage()
[junit] Hi!Robert
[junit] ------------- ---------------- ---------------

BUILD SUCCESSFUL
Total time: 0 seconds
» Tiếp: Thiết lập JUnit với Eclipse
« Trước: Tham số hóa test
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!