2015-11-02 158 views
0

我目前正在尝试茉莉节点来单元测试我的钛应用程序。如果能够解决我的问题,我很乐意提供有关切换到其他单元测试框架的建议,但首先,这是我的问题。茉莉花单元测试钛模块

我的茉莉花节点的安装工作,我可以进行非常简单的测试,像这样的:

var util = require('../app/controllers/utils.js'); 
describe("util test", function(){ 
    it('should compute the sum between 1 & 2', function(){ 
     var sum = util.computeSum(1, 2); 
     expect(sum).toEqual(3); 
    }); 
}); 

上面的代码测试以下功能和按预期工作。

exports.computeSum = function(a,b) { 
    return a+b; 
}; 

当我尝试测试一些调用Ti模块的代码时,它失败,说“Ti未定义”。

describe("Ti.UI",function(){ 
    it("create custom alert", function(){ 
     var view = util.displayCustomAlert("title", "message"); 
     should(view).not.be.null; 
    }); 
}); 

以上功能是通过以下测试进行测试:

exports.displayCustomAlert = function(customTitle, customMessage){ 
    return Ti.UI.createAlertDialog({ 
     title:customTitle, 
     message:customMessage 
    }); 
}; 

我怎样才能让用钛茉莉节点的工作?

+0

嘿,你有没有想过这个? – user1554966

+0

@ user1554966我不记得我有。当时我是一名实习生,没有多少时间在我的手中;我想我没有测试钛部件。 虽然这可能是最好的,但您应该确信该框架可以完成其工作,并且只能测试您的自定义代码。 – midemarc

回答

0

我推荐使用TiShadow来运行Jasmine测试或TiO2来运行Titanium应用程序的Mocha测试。

+0

我在茉莉花之前尝试过tio2,但是我一直无法使它工作。简单的'示例'示例失败时没有指向它们,并且我遇到[此问题](https://github.com/appcelerator/tio2/issues/14)通过运行在我的项目上。我发现'read me'没有提供足够的信息来完成工作。 我会给TiShadow一个尝试,谢谢。 – midemarc