如何解决我如何测试这个功能?
我使用 BLoC 架构方法,其中交付层、操作层和视图层全部分离,并使用 RxJS 进行状态管理。
功能如下:
indexOf
这个想法是这个函数为 API 请求调用另一个函数,获取响应并设置全局状态,所以我想要做的就是测试状态是否已更改为预期的状态,但因为它没有使用渲染而且我没有传递道具/函数,我正在努力正确地模拟这个函数。
这是基本测试:
const defaultHomeScreenState: IHomeScreenState = {
categoriesData: [],mealsData: null,isLoaded: false,mealsLoading: false,currentCategory: 'Beef'
}
class HomeScreenBloc extends ProtoBloc<IHomeScreenState> implements IHomeScreenService {
constructor() {
super(defaultHomeScreenState)
}
getCategories = async () => {
const { value,error } = await delivery.MealAPI.getCategories()
const newState = { ...this.state }
if (error) {
console.warn('Request Failed')
return
}
if (value) {
newState.categoriesData = value.categories
this.pushState(newState)
}
}
}
export default new HomeScreenBloc()
这会返回一个与 API 调用失败相关的错误,这是我预料到的,因为我很确定这是在这里使用的错误方法。
那么我该如何成功测试这个功能呢?
非常感谢任何帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。