微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何测试这个功能?

如何解决我如何测试这个功能?

我一直在努力寻找有效测试此功能方法

我使用 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 举报,一经查实,本站将立刻删除。