Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提取Json数据并使用量角器验证值_Javascript_Arrays_Json_Jasmine - Fatal编程技术网

Javascript 提取Json数据并使用量角器验证值

Javascript 提取Json数据并使用量角器验证值,javascript,arrays,json,jasmine,Javascript,Arrays,Json,Jasmine,我需要从Json文件中读取数据,然后断言其键的值与其他值匹配。下面是我的示例代码: var fs = require('fs'); let StudentData = 'StudentData.json'; describe('Test for Json Data', function (){ let Data = { a: 'a', b: 'bb', c: 'ccc' }; let DT = JSON.strin

我需要从Json文件中读取数据,然后断言其键的值与其他值匹配。下面是我的示例代码:

var fs = require('fs');

let StudentData = 'StudentData.json';

describe('Test for Json Data', function (){

    let Data = {

        a: 'a',
        b: 'bb',
        c: 'ccc'
    };

    let DT = JSON.stringify(Data);

    fs.writeFileSync(StudentData ,DT)


    it('test for C', function(){

        let Uploaded_data = fs.readFileSync(StudentData);

        let Data = JSON.parse(Uploaded_data);

        let c = Data['c'];

        console.log(c);

        expect(c.toBe('ccc'));

    })

});
运行脚本时,出现以下错误:

 1) Test for Json Data test for C
  Message:
    Failed: c.toBe is not a function
  Stack:
    TypeError: c.toBe is not a function

我如何在这里验证c的值

我同意@jornsharpe的说法,你应该期望。。。。还有一些其他的事情需要注意。我会在beforeAll或beforeach方法中将您希望发生在it块之前的方法放在其中,以确保它们在it块之前执行

在整理@jornsharpe的评论时,我会做以下工作:

const fs = require('fs');
const studentData = 'StudentData.json';

describe('Test for Json Data', () => {
  const data = {
    a: 'a',
    b: 'bb',
    c: 'ccc'
  };

  beforeAll(() => {
    // make sure that you specify this in beforeAll or beforeEach
    fs.writeFileSync(studentData ,JSON.stringify(data))
  });

  it('test for C', () => {
    const uploadedData = fs.readFileSync(StudentData);
    const parsedData = JSON.parse(uploadedData);
    const c = parsedData['c'];
    console.log(c);
    expect(c)toBe('ccc'));
  });
});
期望。。。