Javascript 从jasmine规范文件的源代码中获取变量的值

Javascript 从jasmine规范文件的源代码中获取变量的值,javascript,jasmine,Javascript,Jasmine,我正在和jasmine一起工作,并在终端上运行它。我的javascript函数不返回任何值,而是用一些值设置一些变量。如何测试函数中正确设置的变量值 我试着用spyOn on变量来做,但它抛出了一个错误,告诉我们obj没有定义: var toCleanObject = function(obj){ for (const i in obj) { if (obj[i] === "" || obj[i] === false) { delete obj[`$

我正在和jasmine一起工作,并在终端上运行它。我的javascript函数不返回任何值,而是用一些值设置一些变量。如何测试函数中正确设置的变量值

我试着用spyOn on变量来做,但它抛出了一个错误,告诉我们obj没有定义:

 var toCleanObject = function(obj){
    for (const i in obj) {
        if (obj[i] === "" || obj[i] === false) {
          delete obj[`${i}`];
        }
    }
}
对于下面的函数,如果我以{id:1,rank:3,name:}的形式传递obj
在规范中,我需要尝试obj是否变成{id:1,rank:3}。

对于这种特殊情况,您不需要任何间谍。使用某个对象调用函数,调用后,该对象应已更改为所需的形式。只是断言

const obj = {id:1,rank:3,name:""};
toCleanObject(obj);
expect(obj).toEqual({id:1,rank:3})

请现在检查。我修改了我的答案。