我正在尝试对查询功能进行单元测试。当我在下面的单元测试中使用断点进行调试时,我在单元测试中看到this.datasets = Object
带有dataset
信息。但是,当我进入查询功能时,数据是未定义的。为什么它未定义,如何在单元测试中将其设置为dataset
?
QueryController.ts:
public query(query: QueryRequest): QueryResponse {
Log.trace('QueryController::query( ' + JSON.stringify(query) + ' )');
let data: any = this.datasets["courses"];
// do stuff
}
单元测试:
it("Valid query", function () {
let query: QueryRequest = {
// valid query code here
};
let dataset: Datasets = {
"234": {
"courses_dept": "math",
"courses_id": "327",
"courses_avg": 86.17,
"courses_instructor": "spears, britney",
"courses_title": "opera appreciation",
"courses_pass": 23,
"courses_fail": 10,
"courses_audit": 10
},
};
let controller = new QueryController(dataset);
let ret = controller.query(query);
//check stuff
});
修改:我修复了问题。 query()正在调用this.datasets [“courses”]。我需要在单元测试中为我的数据集添加“课程”键。