使用Titanium做单元测试

官方文档中什么也没有提到,单元测试中可以使用喜欢的Javascript测试框架。因为不依赖浏览器,所以只要能确认Log输出的即可。

总之,为了在Titanium的控制台输出Log,Titanium.API.info和Titanium.API.error等能测试输出就可以了。

这回我们试着使用Unit系中流行的QUnit和BDD系的Jasmine。

[size=medium][b]使用QUnit[/b][/size]

Titanium使用的Adapter已经在GitHub上公开了。
[url=https://github.com/lukaso/qunit]lukaso/qunit – GitHub[/url]

在自己的Project使用的时候,Resources文件夹下保存一下文件就可以了。

* runner.js
* qunit/qunit.js
* qunit/titanium_adaptor.js
* test/tests_to_run.js

然后,在test/tests_to_run.js中写测试内容。 在app.js的任何位置把runner.js文件include后运行即可。

查看titanium_adaptor.js的内容,我们可以看到,它做的事情就是利用QUnit的Logging处理把Log输出到Titanium的控制台上。
所以想输出的时候,按照喜欢的改写也是不难的事情。

[b]在app.js中添加代码确认动作[/b]

app.js_snippet中,Tabgroup中追加单元测试用的Tab,只是简单的确认,单纯的在app.js的末尾追加一下行即可测试动作:

Titanium.include('runner.js');


[b]确认动作的test/tests_to_run.js[/b]

为了确认动作,什么测试也没有写,只是测试QUnit的动作的例子代码:

module("QUnit on Titanium");
test("OK test(pass)", function () {
ok(true);
}
);

test("equal test(no pass)", function () {
equal('hogehoge', 'hige');
}
);


动作结果会很好的输出到Titanium的控制台上。
顺便说一下,由于结果中包含了HTML代码,很难理解。使用QUnit-TAP不是很好。

[size=medium][b]使用Jasmine[/b][/size]

Jasmine中,能够自定义测试出力的Reporter,所以可以做成Titanium用的Reporter。

jasmine.js中,提供了基本的Reporter类,可以根据它做成自己的Reporter类。
实际编码的时候可以参考Jasmine官方发布版本中的jasmin-html.js和[url=https://github.com/larrymyers/jasmine-reporters/blob/master/src/jasmine.console_reporter.js]jasmine.console_reporter.js[/url]。

包含了很好出力的Reporter的[url=https://github.com/akahigeg/jasmine-titanium]Jasmine Titanium[/url]也已经公开了。

[b]在app.js中添加代码确认动作[/b]

还没有任何测试内容,只是确认Jasmine动作的例子代码。
前提是在Resorses/jasmine中,jasmine.js和jasmine-titanium.js(上边的TitaniumReporter)

Ti.include('jasmine/jasmine.js');
Ti.include('jasmine/jasmine-titanium.js');

describe("Jasmine Sample", function() {
it("pass!", function() {
var foo = 2;
expect(foo).toEqual(2);
}
);
});

describe("Second Jasmine Sample", function() {
it("fail!", function() {
var foo = 1;
expect(foo).toEqual(2);
}
);
});
jasmine.getEnv().addReporter(new jasmine.TitaniumReporter());
jasmine.getEnv().execute();


执行结束后,就能看到失败的测试和合计结果。
实际的开发中,应该把测试代码统一放在spec文件夹中比较好。
注:
没有spec文件夹或者文件夹为空是不能启动的。

【原文】[url=http://higelog.brassworks.jp/?p=692]Titaniumでユニットテスト[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值