MVVM ViewModels是Pojos,所以它们很容易测试......至少,这是事实的一半。实际上,ViewModels还包含大量注释(@Command
,@GlobalCommand
,@NotifyChanges
)。当然我可以测试pojo,但是大部分逻辑都在注释中,因此虽然可以执行100%的pojo,但不会测试几乎100%的ViewModel。
显然,从外部测试ViewModel会很棒,例如允许我这样做。
MyViewModel vm = new MyViewModel();
BindTestUtil.save(vm, "firstName", "Franklin");
BindTestUtil.verifyNotifyChanged(vm, "someProperty");
...或
BindTestUtil.doCommand(vm, "someCommand");
...etc.
有没有办法做到这一点?最好不必模拟ZK的代码,因为这只会导致猜测它可能做什么。对于像这样的测试,ZATS也有点过分了......更好的想法,任何人?