我希望这不是一个太笼统的问题,也不会被标记..什么是最佳实践或最佳步骤需要采取,以编写一个单元测试的深度链接..以确保它可以被处理。使用Xcode的XCTestCase。任何帮助将不胜感激。先谢谢你了!
4nkexdtk1#
具体的答案实际上取决于你如何构建你的应用程序,以及哪些组件负责对深层链接做出React。在高层次上,我会尝试:1.将我想要测试的行为(深度链接)提取到负责此行为(理想情况下只是此行为)的组件中。在这种情况下,这可能意味着应用程序委托将链接交给某个Router类,后者可以解析链接并进行相应的导航。1.在我的测试中创建该组件的示例,并为任何依赖项注入测试双精度。1.确保我可以对结果进行Assert,以便我知道它是否按预期运行。对于深层链接的测试,这可能意味着测试检查对注入的视图控制器的修改。或者,Router可能会返回一系列需要执行的RouteActions,每个都可以单独测试,或者您可以Assert第一个Router执行部分工作,并将其余部分交给另一个负责在应用程序的某个子部分中导航的Router。根据您的应用程序,可能有多个初始状态,您希望针对这些状态测试同一深度链接;登录与注销,链接到应用程序尚未加载的数据,等等。
1条答案
按热度按时间4nkexdtk1#
具体的答案实际上取决于你如何构建你的应用程序,以及哪些组件负责对深层链接做出React。
在高层次上,我会尝试:
1.将我想要测试的行为(深度链接)提取到负责此行为(理想情况下只是此行为)的组件中。在这种情况下,这可能意味着应用程序委托将链接交给某个Router类,后者可以解析链接并进行相应的导航。
1.在我的测试中创建该组件的示例,并为任何依赖项注入测试双精度。
1.确保我可以对结果进行Assert,以便我知道它是否按预期运行。对于深层链接的测试,这可能意味着测试检查对注入的视图控制器的修改。或者,Router可能会返回一系列需要执行的RouteActions,每个都可以单独测试,或者您可以Assert第一个Router执行部分工作,并将其余部分交给另一个负责在应用程序的某个子部分中导航的Router。
根据您的应用程序,可能有多个初始状态,您希望针对这些状态测试同一深度链接;登录与注销,链接到应用程序尚未加载的数据,等等。