如何在typescript中测试/ mock JSON

时间:2018-03-06 06:42:30

标签: javascript typescript jestjs

我有以下data.ts。假设所有的设置都是通过jest和all完成的(我会指出我得到的任何设置错误),如何在team.json中测试/ mock data.spec.ts?我是单元测试的新手,无法通过打字稿找到有用的一步一步的资源。

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
  }
]

1 个答案:

答案 0 :(得分:0)

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

然后你可以在测试功能中调用它。

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

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