苍山新媒体 网站首页 资讯列表 资讯内容

ODOO中的JAVASCRIPT单元测试

2021-04-09| 发布者: 苍山新媒体| 查看: 144| 评论: 3|来源:互联网

摘要: 访问/web/tests页面可以看到当前所有包含测试模块的单元测试列表。Odoo自定义单元测试方法如下:1.__openerp__文件中...

访问/web/tests页面可以看到当前所有包含测试模块的单元测试列表。

Odoo自定义单元测试方法如下:

1. __openerp__文件中添加对js文件的引用:

(非官方文档中将js文件写到'test'中,而是引用view文件,在view文件中添加对js的引用,8.0以后有效)

 

 

 

 

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.');
    });openerp.hk openerp.hk openerp.hk });
 


分享至:
| 收藏
收藏 分享 邀请

最新评论(0)

Archiver|手机版|小黑屋|苍山新媒体  

GMT+8, 2019-1-6 20:25 , Processed in 0.100947 second(s), 11 queries .

Powered by 苍山新媒体 X1.0

© 2015-2020 苍山新媒体 版权所有

微信扫一扫