gpt4 book ai didi

unit-testing - Ember 单元测试模板

转载 作者:行者123 更新时间:2023-12-01 12:40:06 26 4
gpt4 key购买 nike

我正处于在项目中使用 Ember 的早期阶段。到目前为止,我对它打开的可能性感到非常兴奋!

我们正在编写集成测试,如 their docs 中所述.我们还计划在以后需要时对各种事物(组件、 Controller 、 View 等)进行单元测试。

然而,现在,我们只有一个绑定(bind)模型的基本模板。出于说明目的,它可以简单地是:

<h1>{{title}}</h1>

我们正在服务器上预编译我们的模板:它们在 Ember.TEMPLATES 集合中可用。

我们只想对绑定(bind)了一个模型(在测试中创建)的这个模板进行单元测试。我的想法是,我们应该能够在页面上加载应用程序,指定应在其中呈现模板的页面元素,创建虚拟模型,将其“以某种方式”绑定(bind)到模板,呈现模板,然后执行一些操作jQuery 断言。听起来很简单,但我似乎找不到如何以简单的方式做到这一点。

我已经看过 this post和类似 this 的帖子,但它们似乎已经过时或处理 View ,我认为我们不需要使用如此简单的模板。

谁能指出我正确的方向?我是否以错误的方式看待这个问题?我们正在使用 Ember 文档中推荐的 qunit 和 ember-qunit combi,以防这很重要。

最佳答案

您始终可以动态创建 View 并将 Controller 和模板附加到它,然后将它附加到页面并测试绑定(bind)是否正常工作。

var controller = Em.ObjectController.create({
model: { title: 'hello'}
});
var fooView = Em.View.create({
container: App.__container__,
templateName: 'foo',
controller: controller
});

// start up the run loop and inject template into the page
Em.run(function(){
fooView.appendTo('#foo');
});

equal(find("h1").length, 1, "h1 is injected");
equal(find("h1").html(), 'hello', "text says hello");
fooView.remove(); // cleanup

http://emberjs.jsbin.com/wipo/45/edit

关于unit-testing - Ember 单元测试模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com