CSci 435/535: Homework 3
Implementation Tools #2
Due Wednesday, February 1st by
11am
Summary
This assignment is an introduction to Javadoc and JUnit. Javadoc is a
documentation scheme for code, where the documentation is embedded in stylized
code comments. JUnit is a testing infrastructure for Java code.
Javadoc Comments
You can attach documentation to classes, constructors, fields, interfaces
and methods by placing Javadoc comments directly before their declaration
statements. Javadoc comments are of the form /** .... */ . They
are highlighted blue by default in Eclipse. (Regular comments //
and /* ... */ are highlighted green.) You can include HTML tags
in your Javadoc comments—these are passed on to the
generated HTML output. Here's an example using Javadoc comments to describe a class, a field and
a constructor:
/** Class Description of MyClass */
public class MyClass
{
/** Field Description of myIntField */
public int myIntField;
/** Constructor Description of MyClass() */
public MyClass()
{
// Do something ...
}
}
Javadoc Tags
Tags are keywords recognized by Javadoc which define the
type of information that follows. They come after the description, and are
separated from it by a newline. Here are some common pre-defined tags:
- @author [author name] - identifies author(s) of a class or
interface.
- @version [version] - version info of a class or
interface.
- @param [argument name] [argument description] - describes an
argument of method or constructor.
- @return [description of return] - describes data returned by
method (unnecessary for constructors and void methods).
- @exception [exception thrown] [exception description] -
describes exception thrown by method.
- @throws [exception thrown] [exception description] - same as
@exception.
Here's an example with tags:
/** Description of MyClass
*
* @author John Doe
* @author Jane Doe
* @version 6.0z Build 9000 Jan 3, 1970.
*/
public class MyClass
{
/** Description of myIntField */
public int myIntField;
/** Description of MyClass()
*
* @throws MyException Description of myException
*/
public MyClass() throws myException
{
// Blah Blah Blah...
}
/** Description of myMethod(int a, String b)
*
* @param a Description of a
* @param b Description of b
* @return Description of c
*/
public Object myMethod(int a, String b)
{
Object c;
// Blah Blah Blah...
return c;
}
}
Javadoc in Eclipse
- Download Student.java and TestStudent.java. Don't worry if TestStudent.java
has errors right now.
- Create a new project in Eclipse called <USER-NAME>-HW3 and
import the two files into it. (File → Import → File System.)
- Add Javadoc comments for all the attributes and methods of the Student
class that are missing them. Also, add yourself as an author of the
class.
- Right-click on the project name and go to Export →Javadoc. If you are in Windows, you will have to configure Eclipse to point
to javadoc.exe in the bin directory of wherever you installed Java.
- After you click Finish, a directory called doc will be created in the HW3
project that has the generated documentation files. Take a look at the
Student.html file in the doc folder using a browser.
- You can also use javadoc on the command line by running javadoc
<FILE_NAME>
JUnit in Eclipse
- The first thing you must to to use JUnit in Eclipse is to import
junit.jar. Right-click on the project name, and choose Properties. In the tree
on the left, select Java Build Path. Next, choose Add External JARs and browse
to find junit.jar. If you are using Windows, it will be located in
<eclipsedir>\plugins\org.junit_<version
number>\junit.jar. On department machines, it is under
/usr/share/java/junit.jar.
- To create a test case, go to New → Other → Java → JUnit → Junit Test
Case. You do not have to do this now because you have already been given a
test case in TestStudent.java.
- TestStudent is a subclass of TestCase, so it inherits a variety of
testing assertions. These include assertEquals, assertTrue/False,
assertSame/NotSame, and assertNull/NotNull. There is also a fail() method that
just causes the current TestCase to fail.
- To run the test case, right-click on TestStudent.java and go to Run → JUnit Test. There should be two failures. Why? In the
Javadoc comments at the top of TestStudent.java, explain why there were
failures.
- Debug these failures so that the test cases pass. Do not change the test cases!
- Save all your changes and then zip up the HW3 project. Go to File → Export → Zip File. If your username is
txjeff, name your file txjeff-HW3.zip. E-mail your zip file to
csci435@coppit.org to get credit for this part of the
assignment.
Grading
75 points total
Back to CSci 435/535 Homepage.