Jasmine:TypeError:无法读取未定义的属性'toLowerCase'

时间:2018-05-17 11:06:38

标签: javascript unit-testing jasmine

我正在使用一个函数来检查数组中是否存在名称(names_array)。如果存在则返回true否则返回true然后将名称推送到names_array并为每个名称创建表行并附加到表。

使用Jasmine我必须测试函数是返回true还是false。 为此,我传递变量names_array和name的值。 但仍然为代码$('#add_name')。val();

得到未定义的变量错误

我要测试的javascript代码是......

function check_names(names_array) {
    var name = $('#add_name').val().toLowerCase();
    //check if name is there in names_array if yes return true, if not then return false and push the item to the names_array
    }

我正在使用的Jasmine代码..

describe("On Name Create",function (){
var names_array = ["add","bad","sad","dad"];
   it("Check for names",function (){
        var name = "add";
        expect(check_names(names_array)).toBeTruthy();
   });
 });

我是否因为我是Jasmine的新手而错过了什么?

2 个答案:

答案 0 :(得分:0)

首先应检查$('#add_name).val()是否为空。

也许你应该尝试$('#add_name).eq(0).val()

答案 1 :(得分:0)

您收到此错误是因为toLowerCase()没有为#add_name功能提供任何价值。

确保library(gtools) x <- c("w", "r", "g", "b", "p", "y") Perms <- permutations(n=6,r=4,v=x,repeats.allowed=T) m <- apply(Perms, 1, paste, collapse = "") > head(m) [1] "bbbb" "bbbg" "bbbp" "bbbr" "bbbw" "bbby" ,HTML代码中的此ID具有一定的价值。您可以在代码中使用之前将其打印出来。