尝试为以下门面提供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)
正如其他人所说,你可以写一个首先存储一些Items
的单元测试,然后在同一个测试中,检索Items
并确保你得到的是“等效的”你首先存储的是什么。
例如(如果我冒险猜测),听起来像我的Itemmgr
类可能会延伸到包含易失性和持久版本(也许一个版本在RAM中,也许一个是在磁盘上)。您的测试可以确保item1 == item2
在RAM驻留版本中返回true,但item1 != item2 && item1.equals(item2)
在持久测试中返回true以确保item2被序列化或从某处复制并且不是'只是从某种Map
中检索原始文件。只是一些想法。