官方文档中什么也没有提到,单元测试中可以使用喜欢的Javascript测试框架。因为不依赖浏览器,所以只要能确认Log输出的即可。
总之,为了在Titanium的控制台输出Log,Titanium.API.info和Titanium.API.error等能测试输出就可以了。
这回我们试着使用Unit系中流行的QUnit和BDD系的Jasmine。
使用QUnit
Titanium使用的Adapter已经在GitHub上公开了。
lukaso/qunit – GitHub
在自己的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的控制台上。
所以想输出的时候,按照喜欢的改写也是不难的事情。
在app.js中添加代码确认动作
app.js_snippet中,Tabgroup中追加单元测试用的Tab,只是简单的确认,单纯的在app.js的末尾追加一下行即可测试动作:
Titanium.include('runner.js');
确认动作的test/tests_to_run.js
为了确认动作,什么测试也没有写,只是测试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不是很好。
使用Jasmine
Jasmine中,能够自定义测试出力的Reporter,所以可以做成Titanium用的Reporter。
jasmine.js中,提供了基本的Reporter类,可以根据它做成自己的Reporter类。
实际编码的时候可以参考Jasmine官方发布版本中的jasmin-html.js和
jasmine.console_reporter.js。
包含了很好出力的Reporter的
Jasmine Titanium也已经公开了。
在app.js中添加代码确认动作
还没有任何测试内容,只是确认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文件夹或者文件夹为空是不能启动的。
【原文】
Titaniumでユニットテスト
分享到:
相关推荐
贾法尔 从应用程序内测试Titanium! 即将推出!
java8流源码钛λ Titanium Lambda是一种哲学、一套指南和一些样板代码,旨在激励您构建稳定、健壮且成功的无服务器 REST API。 Titanium Lambda 项目的主要特点: ...运行单元测试: npm test 运行端到端测试
如果您想试用 Titanium BlackBerry 测试版但无法使用手机,那么 BlackBerry 10 Native SDK 附带的模拟器易于使用并且可以很好地代表手机。 最新版本和 API 状态说明位于。文件夹和文件create_sdk - 用于构建 ...
joli.js经过广泛的单元测试。 去检查为了运行测试套件。 “ joli”代表什么? “ joli”在法语中意为“ nice”,“ tiny”。 就像joli.js试图做到的那样。 下载并安装 joli.js的源代码。 只需使用Titanium.include...
钛Dart游戏 安装 按照上的说明设置 Titanium 和 Titanium studio。... 单元测试位于test/目录中,扩展名为*.test.js 测试运行器是 用户验收测试 您可以按照下面提到的步骤手动运行它们,也可以运行
在 strider 中运行 Titanium 单元测试。 注意:这个项目是 strider-node 的一个分支,还没有完全工作 去做 拉取 Titanium SDK 版本列表(应默认为 TiApp.xml 中的内容) 运行 TiMocha 测试 运行 Ti Calabash 测试 ...
合金/钛的单元测试 在单元测试的方法,我使用的一个非常简要概述。 执行node test/unit/node_modules/jasmine-node/bin/jasmine-node test/unit/specs/*以查看正在运行的测试
Ti CLI骨架 这是一个用于构建Titanium CLI... 添加任何新功能或更改功能的单元测试。 发行历史 1.0.0-Ti CLI挂钩的基本骨架 执照 许可:麻省理工学院(c)2014安德鲁·麦克埃罗伊(Andrew McElroy)/ Codex Labs,LLC
钛摩卡套房 使用构建的单元测试应用程序。例子 describe ( 'Your test suite' , function ( ) {it ( 'Your unit test' , function ( ) {should ( Ti . Platform ) . have . readOnlyProperty ( 'apiName' ) . which ...
这个现成的项目已通过Titanium 3.1.1.GA进行了测试,并使用了基于出色的的单元测试框架 。如何开始项目首先,下载源代码。 请注意joli.js本身是该存储库的子模块,因此您可能必须单独获取它并将其放在Resources/lib...
要运行单元测试,只需运行: node forge test 运行代码覆盖率 要生成代码覆盖率,您首先必须安装 。 运行此操作的简便方法: git clone git@github.com:visionmedia/node-jscoverage.git cd node-jscoverage ./...
该库旨在用于分布式功能测试,就像 unittest 库用于单元测试一样。 它提供了等效的测试场景、运行程序、初始化程序和解除分配程序,以便于配置新的测试环境、生成报告等。 对于此类任务,它比使用 bash/python 脚本...
ngBlog 使用AngularJs和Gulp构建的博客应用程序。 包含用于单元和e2e测试的Karma和量角器配置。
Portafolio 该项目是使用版本11.2.6生成的...运行单元测试运行ng test以通过执行单元测试。运行端到端测试运行ng e2e通过执行端到端测试。进一步的帮助要获得有关Angular CLI的更多帮助,请使用ng help或查看“ 页面。
在 android studio 中启用单元测试支持(文件 -> 设置 -> Gradle -> 实验,选中单元测试支持复选框) 如果 robolectric 无法找到清单,您可能需要使用 @Config(manifest = "src/main/AndroidManifest.xml") 注释 ...
这是一个演示应用程序,旨在作为使用ReactJS编写简单应用程序的指南,已使用Jasmine进行了单元测试,并使用Jest作为模拟工具。 要求 此解决方案需要安装以下全局依赖项: NodeJS v0.10.0() (不幸的是,由于Jest...
根据 该项目是使用版本10.2.0生成的。...运行ng test以通过执行单元测试。 运行端到端测试 运行ng e2e通过执行端到端测试。 进一步的帮助 要获得有关Angular CLI的更多帮助,请使用ng help或查看“ 页面。
此回购包含根据第5章的选择练习的起始文件和自动化单元测试。 注意:在为五个必需的方法创建了所有五个方法签名之前,不会编译测试文件。 先做这个。 稍后填写方法。 方法 要检索这些文件并使用它们: 打开...
HeartDiseasePredictionUI 该项目是使用版本9.1.3生成的。...运行ng test以通过执行单元测试。 运行端到端测试 运行ng e2e通过执行端到端测试。 进一步的帮助 要获得有关Angular CLI的更多帮助,请使用ng he
AngularAdminLTE 该项目是使用版本1.7.4生成的。...运行单元测试运行ng test以通过执行单元测试。运行端到端测试运行ng e2e通过执行端到端测试。进一步的帮助要获得有关Angular CLI的更多帮助,请使用ng help或查看 。