4.8.1. 单元测试
假设有下面这个界面控制器:
public class OrderEditor extends AbstractEditor {
    @Named("itemsTable.add")
    protected AddAction addAction;
    @Override
    public void init(Map<String, Object> params) {
        addAction.setWindowId("sales$Product.browse");
        addAction.setHandler(new Lookup.Handler() {
            @Override
            public void handleLookup(Collection items) {
                // some code
            }
        });
    }
} 
  可以编写以下测试类来检查 init() 方法:
public class OrderEditorTest {
    OrderEditor editor;
    @Mocked
    Window.Editor frame;
    @Mocked
    AddAction addAction;
    @Before
    public void setUp() throws Exception {
        editor = new OrderEditor();
        editor.setWrappedFrame(frame);
        editor.addAction = addAction;
    }
    @Test
    public void testInit() {
        editor.init(Collections.<String, Object>emptyMap());
        editor.setItem(new Order());
        new Verifications() {
            {
                addAction.setWindowId("sales$Product.browse");
                addAction.setHandler(withInstanceOf(Window.Lookup.Handler.class));
            }
        };
    }
}