【发布时间】:2019-03-24 20:33:15
【问题描述】:
我有一个使用 .NetStandard 库 (2.0.3) 和 Prism/Unity 进行导航和依赖注入的新 Xamarin Forms (3.2) 项目。我一直在努力建立基本的单元测试。
我的单元测试项目有一个单元测试类,它试图测试 ViewModel 类 (LoginPageViewModel) 中的方法。 ViewModel 类继承自 ViewModelBase,后者继承自 Prism 的 BindableBase 并实现 Prism 的 INavigationAware 接口。
public class ViewModelBase : BindableBase, INavigationAware, IDestructible
我有两个构造函数。我只为单元测试创建了第二个,因为我不需要 INavigationService 进行测试。
public LoginPageViewModel(INavigationService navigationService, IdentityService identityService) : base(navigationService)
public LoginPageViewModel(IIdentityService identityService) : base()
项目构建,但我的每个测试都出现此异常:
消息:测试方法 SalesOrderApp.UnitTests.LoginPageViewModelTests.UserLogin_LoginFails_ReturnsFalseAndNoToken 抛出异常:System.TypeLoadException:无法加载类型 来自程序集“Prism”的“Prism.Navigation.INavigationAware”, 版本=7.1.0.431,文化=中性,PublicKeyToken=40ee6c3a2184dc59'。
我在 MSTest 项目中安装了与我正在测试的项目中相同版本的 Prism.Unity.Forms (7.1.0.431)。我一直在努力让 MSTests 与 Prism 一起工作。任何帮助将不胜感激。
【问题讨论】:
标签: unit-testing xamarin.forms prism mstest