2012-06-11 50 views
0

试图为以下外观提出JUnit测试 - 我知道这应该很简单,但我一直空白。任何想法让我朝着正确的方向前进。它不需要很复杂 - 我只需要完成它。JUnit测试简单的外观

package business; 

import domain.Items; 
import services.exceptions.ItemNotFoundException; 
import services.itemservice.IItemsService; 

public class Itemmgr { 

    @SuppressWarnings("static-access") 
    public void store(Items item) { 
     Factory factory = Factory.getInstance(IItemsService.NAME); 

     IItemsService storeItem = (IItemsService)factory.getInstance(IItemsService.NAME); 

     storeItem.storeItem(item); 
    } 

    public void get(Items item) throws ClassNotFoundException, ItemNotFoundException { 
     Factory factory = Factory.getInstance(IItemsService.NAME); 

     @SuppressWarnings("static-access") 
     IItemsService getItem = (IItemsService)factory.getInstance(IItemsService.NAME); 

     try { 
      getItem.getItems("pens", 15, "red", "gel"); 
     } catch (ClassNotFoundException | ItemNotFoundException e) { 
      e.printStackTrace(); 
      System.out.println("Error - Class or Item Not Found"); 
     } 
    } 
} 
+0

你想要测试什么?要查看一切是否正确存储? –

+0

是的 - 只是功能的基本测试 – Expecto

+0

存储一些项目,然后尝试获取它们,并查看获取的项目是否与存储的项目相匹配。除非你提供更多关于你想要检查的细节,否则我真的不能更具体。 –

回答

0

正如其他人所说,你可以只写一个单元测试,第一家门店一些Items,然后在相同的测试,检索Items,并确保你得到了什么回来了“相当于”你存储什么首先。例如(如果我冒险猜测),听起来像你的Itemmgr类可能会延伸到包括易失性和持久性版本的路上(也许一个版本是in-RAM,也许一个是在磁盘上)。您的测试可能会进一步确保item1 == item2在RAM驻留版本中返回true,但item1 != item2 && item1.equals(item2)在持久性测试中返回true,以确保item2从某处被序列化或复制,并且不仅仅从Map中检索原始文件某种类型的。只是一些想法。