javascript - 期望 {} 是 chai 中的一个对象
问题描述
describe('YoutubeService.getTrendingVideos', function() {
it('should resolve to expectedResult', function() {
const params = {
id: 'O2uf_RveI80',
title:
'Shambho Shankara Full Movie - 2018 Telugu Full Movies - Shakalaka Shankar, Karunya',
thumbnail: 'https://i.ytimg.com/vi/O2uf_RveI80/hqdefault.jpg',
publishedAt: '2 days ago',
};
return chai.assert.isObject(getTrends.YoutubeService.getVideoDetails(params),'object match found');
});
以上是用 chai 编写的测试断言,用于测试函数是否正在返回对象。
功能如下:
export class YoutubeService {
getTrendingVideos(country) {
var params = {
part: 'snippet',
chart: 'mostPopular',
regionCode: country, // should be replaced with country code from countryList
maxResults: '24',
key: config.youtubeApi.key
};
let result = [];
let promises = [];
return axios.get('/', {params}).then(function(res){
result = res.data.items;
for (var i = 0; i < result.length; i++) {
result[i] = {
id: result[i].id,
title: result[i].snippet.title,
thumbnail: result[i].snippet.thumbnails.high.url,
publishedAt: moment(result[i].snippet.publishedAt).fromNow()
};
promises.push(YoutubeService.getVideoDetails(result[i]));
}
return Promise.all(promises);
});
}
static getVideoDetails(video) {
let params = {
part: 'statistics',
id: video.id,
key: config.youtubeApi.key
};
return axios.get('/', {params}).then(function(res) {
let result = res.data;
video.viewCount = result['items'][0].statistics.viewCount;
video.likeCount = result['items'][0].statistics.likeCount;
return video;
});
}
}
我遇到以下问题:
expected {} to be an object
我该如何解决?我是 Mocha 和 Chai 测试的新手,在此先感谢。
解决方案
推荐阅读
- flink-cep - 如何使用 flink CEP 检测趋势 e
- powerbi - Power BI 按组检索最后一列值
- python - 子类化一个列表并修改它的 append 方法
- apollo - 我们应该总是使用钩子还是可以直接从客户端调用它?
- c - C 或汇编中是否有可用的定点表示
- unity3d - Unity ARFoundation - 增强对象不记录碰撞
- mysql - 从 MySQL 中分组和连接表的特定行中选择数据
- faust - 浮士德。如何创建压缩主题
- sql - 使用 FILTER 对链接表值进行 SQL 条件聚合
- apache-flink - Flink keyBy 操作符直接进入 sink