所以我最近开始在我的移动应用程序中使用 Xamarin.UITest。它非常适合测试 UI、导航等。但是我对如何最好地测试应用程序的所有其他部分(即数据库、Web 连接、模型等)感到有些困惑。 该项目是跨平台的,使用共享项目。
这些其他测试是否应该与 UITest 一起使用,还是它们需要自己单独的项目? 此外,在 OSX 上的 Xamarin Studio 中,有没有一种方法可以测试特定的 .Net 代码,而无需构建和启动整个 iOS 应用程序?
谢谢
最佳答案
这个问题真的很广泛。
UI 测试应该只测试 UI 本身
- 导航是否正常工作?
- 所有内容都按应有的方式显示了吗?
- UI 组件是否可见、启用、只读等。
- 组件是否显示正确的数据?
您的业务逻辑应该在单元测试项目中进行测试
- 您的类(class)是否正确处理传入的数据?
- 他们是否在所有情况下都使用正确的参数触发正确的方法?
- 他们是否准备了对网络服务、数据库或第三方库的正确调用? (您不在这里测试其他软件的正确行为)
- 他们是否按预期抛出异常?
单元测试最能帮助您修复和避免错误。对于高质量代码,它们通常比所有其他测试重要得多。
集成测试用于测试其余部分
- 数据库、网络服务、文件系统、操作系统 API 是否按预期工作?
- 所有这些都能正常协同工作吗?
- 一切都足够快吗?
有很多关于好的测试的好书和链接。在这里做太多了。
举几个例子:
- http://blog.stevensanderson.com/2009/08/24/writing-great-unit-tests-best-and-worst-practises/
- https://developer.xamarin.com/guides/ios/deployment,_testing,_and_metrics/touch.unit/
- http://blog.falafel.com/hold-right-learning-xamarin-unit-tests/
- How to do integration testing in .NET with real files?
通过这些链接、StackOverflow 和 Google,您会发现您的单元测试应该保留在一个单独的项目中。在 UI 测试中尽可能好地模拟您的业务逻辑。这样他们就不会测试您的所有代码。否则,您将导致 UI 测试经常失败,以便更改您的业务逻辑。每次更改单元测试时都必须更改 UI 测试。这很快就会变得烦人和令人沮丧。
关于android - 如何在 Xamarin 中测试所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32155623/