use*_*492 -1 java junit junit4
我是Junit测试用例世界的新手,我只是想知道如果我开发了一个程序
class MapDemo1
{static final Logger logger = Logger.getLogger(MapDemo1.class);
/**
*
*/
public static void main(String arg[])
{PropertyConfigurator.configure("src/log4j.properties");
logger.info("-->Map");
// Map map=new TreeMap();
Map map=new HashMap();//HashMap key random order.
// System.out.println("Amit".hashCode());
map.put("Amit","Java");
map.put("Amit","Javas");
// map.put("mAit","J2EE");
//map.put("Saral","J2rrrEE");
/*map.put("ty","Spring");
map.put("Anupam","Hibernate");
map.put("Ravi",".Net");
map.put("Saral","Andriod");//same key but different value
map.put("Nitin","PHP");
map.put("hj","Spring1");*/
System.out.println("There are "+map.size()+" elements in the map.");
System.out.println("Content of Map are...");
Set s=map.entrySet();
Iterator itr=s.iterator();
while(itr.hasNext())
{
Map.Entry m=(Map.Entry)itr.next();
System.out.println(m.getKey()+"\t"+m.getValue()+"\t"+ m.hashCode());
}
]
}
Run Code Online (Sandbox Code Playgroud)
现在请告知这个junit测试用例是什么以及如何在seprate类中编写.
就像使用JUnit一样,这个程序是不可测试的 - 它太小了,它只是一种方法.为了使其可测试,您需要将其分解为只做一件事的部分.
其中一个部分可能是populateMap()创建HashMap和添加值的方法.然后,您可以添加一个或两个调用该方法的测试,并测试地图的大小和内容.
印刷输出也很难(如果不是不可能)进行测试.解决这个问题的一种方法是将打印输出的代码放入一个接受a PrintWriter作为参数的方法中.在真实的程序中,调用它并传递它连接的东西System.out.在测试中,您可以通过PrintWriter连接到a 来调用它StringWriter,然后检查它的内容StringWriter.
通常,您不使用JUnit 测试程序 ; 你测试单位.甲单元是任一类,或一小群紧密耦合类,其提供某种良好定义的服务的一个程序的其余部分的.例如,类似的StringBuilder是一个相当大而复杂的单元,希望您可以想象您可能为它编写的数十或数百个测试.
| 归档时间: |
|
| 查看次数: |
625 次 |
| 最近记录: |