JUnit - Cắm với ANT
Chúng tôi sẽ có một ví dụ để minh họa cách chạy JUnit bằng ANT. 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ữ |
---|---|
các cửa sổ | 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: Đặt Môi trường Kiến
Đặt ANT_HOMEbiến môi trường để 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 xuất ANT_HOME = /usr/local/apache-ant-1.8.4 |
3 | Mac xuất 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 |
---|---|
các cửa sổ | Nối chuỗi %ANT_HOME\bin ở cuối biến hệ thống, Path. |
Linux | xuất 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ữ |
---|---|
các cửa sổ | 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 một thư mục test trong C: \> JUNIT_WORKSPACE> TestJunitWithAnt.
Tạo một thư mục lib trong C: \> JUNIT_WORKSPACE> TestJunitWithAnt.
Tạo nên MessageUtil lớp 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 nên 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 <junit> nhiệm vụ trong Ant để thực thi các trường hợp thử nghiệm 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