如何在打字稿中测试/模拟 JSON



>我有以下data.ts。假设所有设置都是通过开玩笑完成的(如果有的话,我会指出我遇到的任何设置错误(,如何在data.spec.ts中测试/模拟team.json?我是单元测试的新手,找不到有用的打字稿分步资源。

import { Student } from '../models';
const data: Student[] = require('../data/team.json');
/**
 * Returns an array of students
 *
 * @export
 * @returns {Student[]}
 */
export function getStudentData(): Student[] {
	return data;
}

我的data.spec.ts

const getStudentData = require('./data');
test('gets students...', () => {
	// how to execute it here?
	
});

示例team.json数据

[
  {
    "login": "jason",
    "id": 1482046,
    "site_admin": false
  },
  {
    "login": "michael",
    "id": 1819122,
    "site_admin": false
  },
  {
    "login": "arnold",
    "id": 2323810,
    "admin": true
  }
]

getStudentData()导出为命名导出时,应将其导入为import { getStudentData } from './data'

然后,您可以在测试函数中调用它。

顺便说一下,如果你想测试数据的加载,你可能想把你的require函数放在getStudentData()

export function getStudentData() {
  return require('../data/team.json')
}

最新更新