Javascript 提取Json数据并使用量角器验证值
我需要从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
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'));
});
});
期望。。。