Odoo中的Javascript单元测试
作者:网络转载 发布时间:[ 2015/11/12 11:05:45 ] 推荐标签:Javascript 单元测试
前端页面利用QUnit进行单元测试,本文参考官方文档:https://www.odoo.com/documentation/8.0/reference/javascript.html
访问/web/tests页面可以看到当前所有包含测试模块的单元测试列表。
自定义单元测试方法如下:
1. __openerp__文件中添加对js文件的引用:
(非官方文档中将js文件写到'test'中,而是引用view文件,在view文件中添加对js的引用,8.0以后有效)
<template id="assets_backend" name="qweb_test" inherit_id="web.qunit_suite">
<xpath expr="//head" position="inside">
<script type="text/javascript" src="/px_qweb/static/test/demo.js"></script>
</xpath>
</template>
2. 创建js文件,写单元测试
单元测试以openerp.testing为命名空间,测试写在section函数中。
openerp.testing.section('my.test',function(test){
test('my first test',function(){
ok(false,"this test has run");
});
});
3.断言
ok(state[,messsage]):检查state是否为真
strictEqual(actual,expected[,message]):严格测试相等
notStrictEqual(actual,expected[,message]):严格测试是否不等
deepEqual(actual,expected[,message]):对于对象和数组类型,确保其每个元素的键值都相等
notDeepEqual(actual,expected[,message]):与deepEqual相反
throws(block[,expected][,messsage]):block抛出异常,验证抛出异常是否与预期(expected)一致。
equal(actual,expected[,message]):测试是否相等
notEqual(actual,expected[,message]):与equal相反
例子:
自定义data.js文件:
(function(){
openerp.px_qweb = {
value_true:true,
SomeType: openerp.web.Class.extend({
init:function(value){
this.value = value;
}
})
};
}());
单元测试:
openerp.testing.section('PX QWeb',function(test){
test('PX Test',function(instance){
ok(instance.px_qweb.value_true,'should have a true value');
var type_instance = new instance.px_qweb.SomeType(50);
strictEqual(type_instance.value,50,'should have provided value.');
});
});
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11