0

我刚刚开始使用 MVVMCross 开发一个跨平台应用程序,我很难弄清楚如何测试我的 ViewModel。我尝试按照 TwitterSearch 中完成的测试并遇到问题。特别是在 MockSetup.cs 中,我发现在最新版本的 MvvmCross 中似乎不再有 aIMvxViewDispatcherProvider但这没关系,因为我认为它的功能已被汇总到IMvxViewDispatcher. 但是,当实际为我的测试用例设置 dipatcher 时,RequestNavigate不再有调度程序的方法,而且我找不到MvxShowViewModelRequest. 所以我实际上无法对我的 ViewModel 进行任何测试。


我还尝试在这里进行测试http://slodge.blogspot.com/2012/10/testing-viewmodels-in-mvvmcross.html但再次遇到了缺少的问题MvxOpenNetCfServiceProviderSetup

总而言之,我的问题是让 MockSetup 正常工作,以便我可以测试我的 ViewModel。如果我可以在调度程序上指出正确的方向,我认为这会有所帮助。

4

1 回答 1

1

看起来您正在尝试使用 mvvmcross vnext 对象测试 mvvmcross v3 应用程序。

v3 的更新推特搜索测试位于https://github.com/slodge/MvvmCross-Tutorials/tree/master/Sample%20-%20TwitterSearch/TwitterSearch.Test

此测试使用一个特殊的模拟对象:https ://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20TwitterSearch/TwitterSearch.Test/Mocks/MockMvxViewDispatcher.cs

这个 mock 的作用只是目前:

  • 提供一个非常简单的主线程(它使用当前线程)
  • 为任何导航请求提供简单的存储。

您可以看到它用于:

于 2013-05-21T14:19:35.460 回答