我对Mockito、jUnit和TDD等方面非常陌生,所以我想学习如何正确进行TDD并需要一些示例来开动我的头脑。请帮助我。
有一个方法
编辑:
以下是涉及到的类和方法。
有一个方法
getNameInc(String dirPath, String filenName)
。给定一个文件名,比如bankAccount.pdf
,如果在这个文件夹中没有文件名为bankAccount.pdf
的文件,则返回bankAccountAA.pdf
。如果已经存在一个名字为bankAccount.pdf
的文件,则返回bankAccountBB.pdf
。递增的顺序是从AA-ZZ
。当它达到ZZ
时,它就回滚到AA
。我已经实现了这个方法的逻辑。如何使用Mockiti和jUnit对这个方法进行单元测试?编辑:
以下是涉及到的类和方法。
public class PProcessor{
private final Map<Integer, String> incMap = new HashMap<Integer, String>();
private String getNameInc(String dirPath, String filenName){
String[] nameList = new File(dirPath).list(new FilenameFilter(){
public boolean accept(File file, String name) {
//only load pdf files
return (name.toLowerCase().endsWith(".pdf"));
}
});
//Return the number of occurance that a given file name appear
//inside the output folder.
int freq = 0;
for(int i=0; i<nameList.length; i++){
if(fileName.equals(nameList[i].substring(0, 8))){
freq++;
}
}
return incMap.get(freq);
}
private void generateIncHashMap(){
incMap.put(new Integer(0), "AA");
incMap.put(new Integer(1), "BB");
incMap.put(new Integer(2), "CC");
...
}
}
generateIncHashMap()
将在构造函数中调用以预先生成哈希映射
getNameInc(String dirPath, String fileName)
已经由我实现。我只是想知道如何对其进行单元测试。可以使用mockito或普通的jUnit。我正在尝试学习这个想法。 - Thang Pham