现在用JUnit测试几个方法,请问除了assertEquals,还需要用什么方法来测试么?怎么让测试显的更专业呢?
还有请问帮我看看这个问题,我的代码是这样的.
public void testMain() {
TestLines testLines1 = new TestLines();
File f = new File("Test.java");
assertEquals(20, testLines1.getSumLine(f));
assertEquals(28, testLines1.getSumLine(f));
}测试不通过,有一个错误,但是如果只有assertEquals(20, testLines1.getSumLine(f));这行,测试通过,同样,只有
assertEquals(28, testLines1.getSumLine(f));测试也通过,我就郁闷了...有碰过类似问题的朋友来解释下的么。
感激先。
还有请问帮我看看这个问题,我的代码是这样的.
public void testMain() {
TestLines testLines1 = new TestLines();
File f = new File("Test.java");
assertEquals(20, testLines1.getSumLine(f));
assertEquals(28, testLines1.getSumLine(f));
}测试不通过,有一个错误,但是如果只有assertEquals(20, testLines1.getSumLine(f));这行,测试通过,同样,只有
assertEquals(28, testLines1.getSumLine(f));测试也通过,我就郁闷了...有碰过类似问题的朋友来解释下的么。
感激先。
问题是我2个放一起测试就不通过,一个一个就能通过。
代码是这样的private void countLines(File f) {
//if (f.isFile() && f.toString().endsWith("java")) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new
FileInputStream(f)));
while (br.readLine() != null) {
sumLine++;
}
}
catch (FileNotFoundException ex) {
}
catch (IOException ex1) {
}
//}
if (f.isDirectory()) {
File file[] = f.listFiles();
for (int i = 0; i < file.length; i++) {
countLines(file[i]);
}
}
} /**
* @param f
* @return
*/
public long getSumLine(File f) {
countLines(f);
return sumLine;
}
countLines里面把sumLine初始化了下好了。
希望能专业一点的!谢谢了。
你在一个测试用例里面,测试复数结果集的时候,该使用循环来处理。
private void assertMQBean(MQFields mqbean, MQFields a_mqbean,String testName, int in_Group_No_Key) throws Exception{
// 結果比較
// 配列項目//mqbean 测试结果
//a_mqbean 预期结果
//((String[])mqbean.get("aaa")).length 测试结果个数
//((String[])a_mqbean.get("bbb")).length 预期结果个数 assertEquals(((String[])mqbean.get("aaa")).length, ((String[])a_mqbean.get("bbb")).length);
for(int i=0;i<((String[])mqbean.get("aaa")).length;i++) { assertEquals(((String[])mqbean.get("NO"))[i].trim(), ((String[])a_mqbean.get("NO"))[i].trim());
assertEquals(((String[])mqbean.get("aaa"))[i].trim(), ((String[])a_mqbean.get("bbb"))[i].trim());
}
}
}
// 結果比較
assertMQBean(mqbean, a_mqbean,testName,GROUP_NO_1);这个assertMQBean是自己定义的方法,里面按照取得的结果,和自己预想的结果来做比较。要比较的内容包括:
1:取得结果的个数与预期的结果个数是否一致
2:取得结果的内容与预期的结果内容是否一一对应。
如果运行二个的时候,一个测试肯定行的,但第二个在文件打开的基础上再打开,你说能行不??所以要在
catch后面加个
finally{
try{
br.close();
}catch(Exception e){}
}