103 lines
3.3 KiB
Plaintext
Executable File
103 lines
3.3 KiB
Plaintext
Executable File
|
|
JavaTest Template:
|
|
|
|
Woking on similar lines as JavaSpec, this template generator parses an
|
|
input Class file and creates unique Test Template Files for
|
|
each public method complying with all combinations of its parameter list.
|
|
It is mainly used for doing a white box testing for all API's (methods).
|
|
|
|
This will ensure that all Java Testcase Files follow a given template.
|
|
|
|
It uses reflection to figure out all constructors and public methods
|
|
for a given class.
|
|
|
|
The file-naming convention for output files is a straight forward one.
|
|
<class Name>_<method name>_<param combinations>.java
|
|
|
|
|
|
param combinations is based on all permutations depending on the values
|
|
of different data types (as listed below)
|
|
|
|
Listed below is all possible values for types of parameter.
|
|
String = (null, "DUMMY_STRING")
|
|
int = (0, Integer.MIN_VALUE, Integer.MAX_VALUE)
|
|
float = (0, Float.MIN_VALUE, Float.MAX_VALUE)
|
|
double = (0, Double.MIN_VALUE, Double.MAX_VALUE)
|
|
long = (0, Long.MIN_VALUE, Long.MAX_VALUE)
|
|
short = (0, Short.MIN_VALUE, Short.MAX_VALUE)
|
|
char = (Character.MAX_VALUE)
|
|
boolean = (true, false)
|
|
byte = (Byte.MIN_VALUE, Byte.MAX_VALUE)
|
|
Integer = (null, 0, Integer.MIN_VALUE, Integer.MAX_VALUE)
|
|
Float = (null, 0, Float.MIN_VALUE, Float.MAX_VALUE)
|
|
Double = (null, 0, Double.MIN_VALUE, Double.MAX_VALUE)
|
|
Long = (null, 0, Long.MIN_VALUE, Long.MAX_VALUE)
|
|
Short = (null, 0, Short.MIN_VALUE, Short.MAX_VALUE)
|
|
Character = (null, Character.MAX_VALUE)
|
|
Byte = (null, Byte.MIN_VALUE, Byte.MAX_VALUE)
|
|
Object = (null, "NOTNULL")
|
|
|
|
So for a method 'm' for class 'c' with two String parameters
|
|
the output files generated will be
|
|
|
|
c_m_String_String_0.java --> (null, null)
|
|
c_m_String_String_1.java --> ("DUMMY_STRING", null)
|
|
c_m_String_String_2.java --> (null, "DUMMY_STRING")
|
|
C_m_String_String_3.java --> ("DUMMY_STRING", "DUMMY_STRING")
|
|
|
|
|
|
--------------------------------------------------------------------------
|
|
How to run
|
|
==========
|
|
java BWJavaTestTemplate [ -d <output directory> ] classname
|
|
|
|
<output directory> is the location where u want to generate these
|
|
TestCase files
|
|
|
|
--------------------------------------------------------------------------
|
|
|
|
For Example
|
|
===========
|
|
Class: x.java
|
|
|
|
public class x
|
|
{
|
|
|
|
public x(String arg)
|
|
{
|
|
}
|
|
|
|
private void modifyVal(String instr)
|
|
{
|
|
}
|
|
|
|
public void setVal (String ival)
|
|
{
|
|
}
|
|
|
|
public void setIndexVal (String ival, int index)
|
|
{
|
|
}
|
|
}
|
|
|
|
|
|
|
|
Generated Files are
|
|
|
|
x_setVal_String_0.java
|
|
x_setVal_String_1.java
|
|
x_setIndexVal_String_int_0.java
|
|
x_setIndexVal_String_int_1.java
|
|
x_setIndexVal_String_int_2.java
|
|
x_setIndexVal_String_int_3.java
|
|
x_setIndexVal_String_int_4.java
|
|
x_setIndexVal_String_int_5.java
|
|
x_x_String_0.java
|
|
x_x_String_1.java
|
|
x.txt
|
|
|
|
|
|
--------------------------------------------------------------------------
|
|
NOTE: Right now the author name in each of those generated files is left
|
|
empty. Future version will reflect the same from configuration files
|