在Ember.js中,我目前想要测试一个UI功能。基本上,一旦模型变量发生变化,我希望看到一个UI元素出现(一个复选标记)。我已经尝试在验收测试中创建一个模型,但遗憾的是这并没有像我那样工作。
我只想知道用于设置模型变量的函数。
答案 0 :(得分:0)
模型通常涉及单元测试,但就像你说的那样,你正在测试模型上设置的东西的视觉效果。我建议进行集成测试。如果您能够重构(或者可能已经是这种情况),将模板的一部分组合到一个组件中,那么您可以为组件创建一个ember测试,并按照您希望的方式完美地传递模型。
如果此测试确实依赖于正在设置的模型,我会查看您的应用程序如何设置该模型并尝试使用click
和fillIn
帮助程序复制这些操作。另一种方式是,您的应用程序想要设置用户但依赖于网络请求来执行此操作,然后您可以使用pretender.js
并伪造对该请求的响应,以便应用程序的输入在网络中设置你想要的方式。
我真的会尝试这样做一个验收测试,但是组件的可组合性使它们能够在更严格的隔离中进行测试,这些测试运行得更快,而且您对副作用的担忧更少。