pix*_*xel 12 c# unit-testing xamarin.forms visual-studio-2015
为Xamarin Forms应用程序编写单元测试的方法是什么(与Xamarin.Android,Xamarin.IOS或Xamarin.UWP相比,Xamarin Traditional相反)?
任何人都可以为Xamarin传统中的Xamarin.Forms与单元测试中的单元测试提供一个很好的解释吗?
一个很好的解释文章如何实现Xamarin.Forms测试,他们甚至需要或者我们应该为每个平台编写单元测试吗?
我已经阅读了很多文章,但我没有找到一个从Visual Studio中创建单元测试项目类型开始编写和运行测试.
他们大多在中间的某个地方开始讨论DI或ServiceLocator(就像这个http://arteksoftware.com/unit-testing-with-xamarin-forms-dependencyservice/).
或者,另一方面,他们将Xamarin.Forms与Xamarin.Android(或IOS)单元测试混合(如下所示:http://www.dsibinski.pl/2017/03/unit-testing-xamarin-application/ ) .
或者,他们将便携式与共享式混合在一起http://www.alteridem.net/2015/12/21/testing-xamarin-projects-using-nunit-3/.
到目前为止我所理解的是,我可以在VS中使用常规的单元测试项目并使用MSTest或NUnit.或者,我可以为每个平台编写特定于平台的单元测试.
所有这一切都非常令人困惑,因为作者似乎将这些术语混合在一起.
由于我完全是这方面的初学者,因此我将非常感谢有关支持范例的详细答案.
我有一段时间有同样的问题,我最终确定了一个策略,它包含两部分,包括代码的单元测试和UI测试.
该单元测试没有UI的代码.例如,模型,服务等的测试.通常我有一个单元测试项目,单元测试是针对共享库编写的.
UI测试特定于OS.我有一个iOS测试项目和一个Android测试项目.我想过有一个单独的UI测试项目,它将是Nirvana.我只是不相信它可以处理每个操作系统的所有UI细微差别.
在构建期间,我运行单元测试.如果它们通过则运行UI测试.对于每个操作系统,我有两组测试,冒烟测试和深度测试.烟雾测试是在一小部分设备上完成的.在浪费不良版本的测试时间之前,我可以快速判断构建的质量.然后在良好的构建上,深度测试在相同的小型设备子集上执行.如果一切都通过,则在更大的设备池上执行烟雾测试.如果崩溃报告进入大型池中的设备,则执行深度测试.如果相关设备具有足够大的用户群并且仍然存在问题,则会将其添加到深层池测试中.
我在非常漫长的职业生涯中学到了很多,包括在微软工作了7年,包括担任.NET框架,.NET Framework SDK和ASP.NET MVC,WebAPI,Azure等相关技术的几个团队的PM.我上面描述的构建过程基于.NET Framework和.NET Framework SDK的构建方式..NET的构建需要一段时间.测试运行的时间更长(想想物理日),因此在构建过程中进行快速烟雾测试非常有用并且节省时间.有时候构建会编译并生成安装,但是会遇到一些问题,即一些(相对而言)测试可能会导致构建错误并为QA团队节省大量时间.
下面的Rookiejava添加了一些很好的链接来学习如何编写测试.
我设计测试的最佳建议是愚蠢,卑鄙,严格和格雷姆林.通过愚蠢的测试只做事情,没有人理解编程会做.最好的例子是我相信x-box上发现的登录错误.有人的孩子做了一件非常冒险的事情,并且看到了他父亲的账户.平均而言,我的意思就是让你疯狂的东西让你疯狂.双关语意图.例如打你的产品.不开玩笑有一个主要的安全制造商在某个地方击中保险箱允许你在没有代码的情况下打开它!字面上要严格,不要做出假设.如果用例,用户故事或用于了解代码如何工作的文档说fatique那么你的测试应该让代码只通过fatique,即使我们都知道它应该是疲劳.提交针对用例/用户故事的错误;)我能给出的最大建议是像gremlin一样思考.不要只测试快乐路径是否有效或数据验证规则是否有效.测试做奇异的令人难以置信的输入和组合命令,按键等.我使用的最好的测试工具是用于Windows Mobile的Microsoft测试工具.是的,Windows.该工具可以完全随机地运行应用程序的UI.随机按键从下到上放置信息,甚至以随机顺序放入其他内容.看到我和其他人做出了多少无意识的假设,这很有趣.它甚至发现了一个错误,可能允许某人完全访问我正在为一个政府机构工作的设备,不仅我们的团队错过了,而且其他外部安全测试人员错过了.在设备进入开发之外的任何人之前,我们悄悄地修补了它.
| 归档时间: |
|
| 查看次数: |
9732 次 |
| 最近记录: |