2017-02-28 69 views
0

我不明白为什么Jasmine测试框架在尝试读取div#2 - div#5中这些元素的classList属性时未说明我的“childElement”元素.Div#1 doesn不会抛出任何错误,但其他人会这样做。所以我想知道这是否能帮助人们弄清楚问题所在。JavaScript在Jasmine测试中失败

下面是一个测试的代码不工作:

describe('Div #2', function() { 

    var tag = 'div'; 
    var element = document.getElementsByTagName(tag)[1]; 
    var childElement = element.getElementsByTagName(tag)[1]; 

    var utilityClass = 'align-self-center'; 
    var hasUtilityClass = null; 

    it('should have the class "' + utilityClass + '".', function() { 
    hasUtilityClass = childElement.classList.contains(utilityClass); 
    expect(hasUtilityClass).toBe(true); 
    }); 

}); 

你可以看到我的全部代码在这里:http://codepen.io/jeppeschaumburg/pen/zNyLOK

+0

请在问题本身而不是第三方网站上提供[mcve]中的所有相关代码。 –

+0

对不起。我会记得下次! –

回答

1

VAR元素= document.getElementsByTagName(标签)[1] ;是:

<div class="align-self-start">Flex item 1</div> 

所以没有子元素。然后它是undefined

尝试使用chrome/firefox调试窗口单步执行代码以查看问题出在哪里。

0

您可能希望使用getElementsByClassName来考虑您的定位,以获得所有d-flex example-alignSelf类命名的容器,然后查找要通过的测试用例。