如何测试Xamarin中的所有内容

Rad*_*pin 3 android xamarin.ios ios xamarin uitest

所以我最近开始在我的移动应用程序中使用Xamarin.UITest.它非常适合测试用户界面,导航等.但是我对于如何测试应用程序的所有其他部分(即数据库,Web连接,模型等)的最佳方式有点困惑.该项目使用共享项目进行跨平台.

这些其他测试是否应与UITests一起进行,还是需要他们自己的独立项目?此外,在OSX上的Xamarin Studio中,有一种方法可以测试特别是.Net唯一代码,而无需构建和启动整个iOS应用程序吗?

谢谢

Wos*_*osi 8

这个问题非常广泛.

UI测试应该只测试UI本身

  • 导航工作正常吗?
  • 一切都显示它应该吗?
  • UI组件是可见的,启用的,只读的等.
  • 组件是否显示正确的数据?

您的业​​务逻辑应该在单元测试项目中进行测试

  • 您的类是否正确处理传入数据?
  • 在所有情况下,他们是否使用正确的参数触发正确的方法?
  • 他们是否准备好对Web服务,数据库或第三方库的正确调用?(这里不测试其他软件的正确行为)
  • 他们是否按预期抛出异常?

单元测试可以帮助您最大程度地修复并避免错误.对于高质量的代码,它们通常比所有其他测试更重要.

集成测试用于测试其余部分

  • 数据库,Web服务,文件系统,操作系统API是否像预期的那样工作?
  • 这一切都能正常工作吗?
  • 这一切都运行得足够快吗?

有很多关于良好测试的好书和链接.这样做太过分了.

举几个例子:

通过这些链接,StackOverflow和Google,您会发现您的单元测试应该保留在一个单独的项目中.在UI测试中尽可能好地模拟业务逻辑.这样他们就不会测试你的所有代码了.否则,您将导致UI测试,这些测试通常会失败,以便更改业务逻辑内部.每次更改单元测试时都必须更改UI测试.这很快就会变得令人烦恼和沮丧.