2

我尝试通过 JMockit 使用方法注释来模拟类,发现没有方法注释可以通过反射检索。字段注释作为意图工作。我错过了什么吗?

嘲讽:

    @Test
public void testThatSetterInjectionIsBombedProperlyOnNonAssignability(@Mocked final WithInjectableMethods injectable,
                                                                      @Mocked final TextView textView,
                                                                      @Mocked final Button button) {

有问题的班级:

class WithInjectableMethods extends Activity {

    private android.view.View asView;

    private Button button;

    // shall be left alone
    private View notInjected = null;
    // shall be injected


    @InjectView(id = 239)
    private void setAsView(View asView) {
        this.asView = asView;
    }

    @InjectView(id = 555)
    public void setButton(Button button) {
        this.button = button;
    }

    public void setNotInjected(View notInjected) {
        this.notInjected = notInjected;
    }
4

1 回答 1

2

我能够解决:

   @Mocked(methods = {"setAsView", "setButton", "notInjected"}, inverse = true) final WithInjectableMethods injectable,

我还开始在 jmockit 上发布问题,它已被接受并承诺在下一个版本中修复:

http://code.google.com/p/jmockit/issues/detail?id=184

于 2011-09-12T06:41:04.947 回答