2014-09-12 45 views
0

我正在使用Yeoman来建立我的AngularJS项目。尝试使用Jasmine测试指令。该指令的计算结果为ul元素。我正在测试,看看这是否成功。如何使用Jasmine编写语法?我遵循Yo angular:directive生成的示例。我也想知道我是否以正确的方式接近这一点?任何指针正确学习茉莉花?检查指令是否评估为特定的HTML元素?

除了下面的答案,我设法安装和使用jasmine-jquery来完成我的工作。

回答

0

要测试你的指令,你可以编译你的HTML模板在茉莉测试:

describe('Unit testing great quotes', function() { 
var $compile; 
var $rootScope; 

// Load the myApp module, which contains the directive 
beforeEach(module('myApp')); 

// Store references to $rootScope and $compile 
// so they are available to all tests in this describe block 
beforeEach(inject(function(_$compile_, _$rootScope_){ 
    // The injector unwraps the underscores (_) from around the parameter names when matching 
    $compile = _$compile_; 
    $rootScope = _$rootScope_; 
})); 

it('Replaces the element with the appropriate content', function() { 
    // Compile a piece of HTML containing the directive 
    var element = $compile("<your-directive></your-directive>")($rootScope); 

    // fire all the watches, so the scope expression {{1 + 1}} will be evaluated 
    $rootScope.$digest(); 

    // Check that the compiled element contains the templated content 
    expect(element.find("ul").length).toBeGreaterThan(1); 
}); 
}); 

https://docs.angularjs.org/guide/unit-testing

茉莉花主页教程其实是非常好的http://jasmine.github.io/2.0/introduction.html

+0

非常感谢你!我设法通过使用jasmine-jquery来使用jQuery语法。但是你在这里解释了一些细节,这非常有帮助。 – 2014-09-16 08:16:04

相关问题