2017-06-12 33 views
0

谁能帮助我,为测试这种方法java的JUnit测试分行错过

public int[] selectRandomPosition(int sitzOfGraphic, int sitzOfGraphic2) { 

    int width = StdRandom.uniform(0,sitzOfGraphic); 
    int height = StdRandom.uniform(0,sitzOfGraphic2); 
    return new int[]{width,height}; 
} 

这是我的测试

public void randomtest() throws Exception { 

    SetMines set = new SetMines(); 
    int[] result = set.selectRandomPosition(10, 10); 

    System.out.println(result[0]+"q"); 
    for(int a = 0; a < 2; a++){ 
     System.out.println(result[a]); 
     Assert.assertTrue(result[a]<11 && result[a]>-1); 
    } 
} 

howevery这是不正确的,有一个TIPP“2在Eclemma错过了4个分支。谢谢你!!!!

+0

有在发布代码没有分支。关于emma报告的更多细节?你的IDE是否标记错过的分支?你能发布完整的'SetMines'类吗? –

+0

这是我的完整SetMines类,unten –

回答

0

公共类SetMines {

private int mine = 10; 

private int [][] setfield = new int[10][10]; 

public int [][] setMineRandom(){ 
    /** 
    * Die Mines mit einer zufaelligen Position zustellen 
    */ 
    for (int i = 0; i < mine; i++) { 
     int[] pos = selectRandomPosition(10,10); 
     while(setfield[pos[0]][pos[1]]==1){ // pruefen od an der Stelle schon ein Mine stellt, wenn ja,sucht ein neue Position zu 
      pos = selectRandomPosition(10,10); 
     } 
     setfield[pos[0]][pos[1]] = 1; 
    } 
    return setfield; 
} 

public int[] selectRandomPosition(int sitzOfGraphic, int sitzOfGraphic2) { 
    /** 
    * zufaellige Position zu suchen 
    */ 
    int width = StdRandom.uniform(0,sitzOfGraphic); 
    int height = StdRandom.uniform(0,sitzOfGraphic2); 
    return new int[]{width,height}; 
} 

public void clear(){ 
    /** 
    * eine gestellt mine loschen, damit noch mal neue stellen koennten. 
    */ 
    for(int a =0 ; a<10 ;a++){ 
     for(int b = 0; b<10;b++){ 
      setfield[a][b] = 0; 
     } 
    } 
} 
// Getter-Methode , um die private Attribute auszunehmen. 
public int getMine() { 
    return mine; 
} 
public int[][] getSetfield() { 
    return setfield; 
} 

}

+0

你应该编辑你的问题来添加这段代码,而不是发布一个答案。 – luizfzs

+0

对不起,这是我第一次使用这个网页。 –