Unit testing 单元测试真实服务器数据交换?

Unit testing 单元测试真实服务器数据交换?,unit-testing,mvvmcross,Unit Testing,Mvvmcross,我正在做一个有客户端和服务器端的项目。我正在编写一个“预签入”工具,它将验证客户端和服务器之间的许多通信 我已经在两个方面进行了单元测试,现在我真的想测试两者之间的集成。 就像真正的客户端到服务器的连接一样,反之亦然 我真的很想对此进行单元测试,但我很难弄清楚如何初始化MMVMCross框架和视图模型类 在另一个线程中,我向运行测试的“控制台应用程序”寻求帮助,但初始化框架也非常困难,这让我失去了使用VisualStudio和reSharper进行单元测试的冷静 我的视图模型使用SQLite和H

我正在做一个有客户端和服务器端的项目。我正在编写一个“预签入”工具,它将验证客户端和服务器之间的许多通信

我已经在两个方面进行了单元测试,现在我真的想测试两者之间的集成。 就像真正的客户端到服务器的连接一样,反之亦然

我真的很想对此进行单元测试,但我很难弄清楚如何初始化MMVMCross框架和视图模型类

在另一个线程中,我向运行测试的“控制台应用程序”寻求帮助,但初始化框架也非常困难,这让我失去了使用VisualStudio和reSharper进行单元测试的冷静

我的视图模型使用SQLite和HttpClient以及async/await

例如:我找不到实例化需要以下接口的视图模型的方法:

IChatService、IMvxMessenger、IDataService、ISettingsService

有些来自框架,有些来自我自己的代码。 我知道,我正试图在
TestFixtureSetUp
上注册我的,但这当然失败了,因为MVVM基本子系统(ioc?)尚未设置

上述一些服务,例如
IDataService
,也需要
ISQLiteConnectionFactory、IMvxMessenger、ISettingsService

我知道单元测试应该是快速的,但我的想法是将所有这些测试放在一个新的
类别中
,我只会在签入之前运行,而我的好友服务器开发人员会在签入之前运行

这里最好的方法是什么? 在这一点上,任何提示、建议、需要调查/研究的事情都会有所帮助,因为我几乎被困在这一点上

塞尔吉奥

例如:我找不到实例化需要以下接口的视图模型的方法:

IChatService、IMvxMessenger、IDataService、ISettingsService

通常,这将使用模拟实现完成,然后使用这些模拟直接调用ViewModel构造函数

我很难弄清楚如何初始化MMVMCross框架

为了初始化框架的IoC部分,您可以使用
MvxIoCSupportingTest
helper类-

如果您需要框架的其他部分,那么通常应该以某种方式模拟这些部分。例如,请参见这两篇文章中如何模拟导航:


如果有帮助的话,这类测试的一个例子是


如果这个答案没有足够的信息,请提供更多关于您试图编写的测试的示例代码