【发布时间】:2013-12-16 20:42:12
【问题描述】:
所以我正在尝试做一些单元测试,但我完全迷失了。 这是我的功能:
showNotification = function(notificationBoxElement, validationErrorObject) {
notificationBoxElement.show();
notificationBoxElement.find('div div:last-of-type ul').empty();
for(var inputLabel in validationErrorObject) {
if(validationErrorObject.hasOwnProperty(inputLabel)) {
notificationBoxElement.find('div div:last-of-type ul').append('<li><strong>' + inputLabel + ': </strong>' + validationErrorObject[inputLabel] + '<span></span></li>');
}
}
notificationBoxElement.addClass('alert-danger');
};
我正在将 Jasmine 与 Karma 测试运行器一起使用。我的问题是我到底应该测试什么?理想情况下,我希望我的测试尽可能地健壮,所以我想测试 DOM?论据?如果我测试 DOM,我要测试什么?我是否测试 li 是否插入到 ul 中,有多少以及它们是否有正确的文本?我是否测试该元素现在是否因为显示功能而可见?
如果我正在测试参数,我应该测试所有可能的值吗?或者我应该只测试notificationBoxElement 是一个dom 元素而validationErrorObject 是一个对象吗?如果我只能测试validationErrorObject 是否是一个对象,为什么还要尝试使用所有可能的参数值来检查结果?很多东西我不明白,请帮帮我!!
【问题讨论】:
-
这个问题似乎跑题了,因为它是关于建筑的,属于Software Engineering
标签: javascript unit-testing jasmine karma-runner