0

次のファサードの 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");
        }
    }
}
4

1 に答える 1

0

他の人が言ったように、最初にいくつかを保存する単体テストを作成Itemsし、同じテストで を取得してItems、最初に保存したものと「同等」であることを確認できます。

たとえば、(私が推測できる場合)、Itemmgr揮発性バージョンと永続バージョンを含めるためにクラスが拡張される可能性があるように思えます(おそらく1つのバージョンはRAM内にあり、もう1つはディスク上にあります)。item1 == item2あなたのテストは、それが RAM 常駐バージョンで trueを返すことを確認するところまで行くことができitem1 != item2 && item1.equals(item2)ますが、永続的なテストで true を返し、item2 がどこかからシリアル化またはコピーされ、Map何らかの種類からオリジナルを取得するだけではないことを確認します。 . ほんのいくつかのアイデア。

于 2012-06-12T22:40:36.887 に答える