问题描述
我使用 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 (将#修改为@)