angularjs – 是可能的转储和恢复window.angular创建一个可恢复
我的应用程序需要在UX中的复杂步骤达到其许多状态。这使得开发/测试周期对于必须在宽范围的状态下进行视觉验证的简单布局改变是非常麻烦的。
所以,我正在研究对运行应用程序(例如window.angular,或者$ rootscope)的转储/快照的实用性,使我可以从该快照快速恢复,运行$ rootscope。$ digest()和et voila。 关于如何实现这一点的任何建议? 我不是在寻找恢复的快照是功能,例如它不需要有活动监视器或广播订阅。它只需要忠实地呈现视觉检查。 – 编辑 – 我开始认为这不可能做到。 我已经意识到的是,从现在开始,我的所有Angular项目将有一个称为VmStateService的服务,基本上,影响渲染视图的每一个VM数据项必须存在于这个单一的服务,注入到每个控制器。这样我只有一个单一的,干净的对象(它没有函数),我可以转储到一个字符串,或保存到本地存储,并还原创建任何视图,我想测试。 我想这是不幸的是,每个人都学习AngularJS通过做$ scope.foo =“bar”,然后花他们的职业生涯的其余部分,意识到一个混乱创造。
如果你用karma做你的测试,那么你可以使用
karma-fixtures-preprocessor 。
要点: >创建一个返回模拟或创建测试夹具的服务 如果你有这个方法的问题;那么你很可能有weak separation of concerns。 查看这些巨大的资源: > Loading a mock JSON file within Karma+AngularJS test 我的$ 0.02分析
这听起来很像弱分离的关注。如果你给所有的数据;它应该很容易触发一个视图,或者去一个状态。
这听起来很像使用夹具。至于你需要记录什么数据;使用http interceptors来记录内容可以为你工作(不要在prod中做)。然后,您可以使用刚刚记录的内容在模拟数据中使用。 测试具有不同输入的视图 这通常意味着你想用不同的数据测试自定义指令。你可以这样做: >每个测试用例所需的夹具数量, 验证(视觉上)许多不同的UI元素 有很多你可以做手动检查元素。 添加“测试页”,其中相同的元素被示出为具有不同的数据,类,样式等。当一些数据被提供为用户输入时,并且难以以自动方式检查;这可能是一个有价值的方法。示例: 转储/恢复功能 这个问题有一些关于从父作用域访问子作用域的好点: 其他要点: >你需要知道什么是标记之前它被更新, 这变得非常毛茸茸。我不知道提供通用转储/恢复功能的库。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |