Answers
做过两个Backbone RequireJS jQuery Mustache结合的项目。
一个用的是Selenium,可以自动Google。
一个是自己在Github上的项目:
https://github.com/phodal/freerice
说说第二个,测试有两种
单元测试
用的是: Sinon + Jasmine + Jasmine-jQuery。
测试Model的逻辑,需要用到FakeServer,如: https://github.com/phodal/freerice/blob/master/web/test/spec/RiceModel...
beforeEach(function() {
this.server = sinon.fakeServer.create();
this.rices = new Rices();
this.server.respondWith(
"GET",
"http://0.0.0.0:8080/all/rice",
[
200,
{"Content-Type": "application/json"},
JSON.stringify(data)
]
);
});
测试View的话,基本就靠行为,如 freerice/web/test/spec/LoginViewSpec.js
beforeEach(function() {
view = new LoginView();
view.$el.find('#username').val('admin').trigger('change');
view.$el.find('#password').val('admin').trigger('change');
});
功能测试
因为用的是Node,所以用的是 zombie
一个简单的测试用例如下
freerice/test/system/function_test.js
:
it('should be on login page', function(done) {
browser.visit('#/account/login')
.then(function() {
assert.equal(browser.location.href, website + '#/account/login', 'It is not the Login page');
assert.ok(browser.success, 'It did not load successfully.');
})
.then(done, done);
});
最爱怪阿姨
answered 10 years ago