关键词:
【中文标题】如何在 Vue.js/Nuxt.js 中为 RepositoryFactory 编写测试【英文标题】:How to write test for RepositoryFactory in Vue.js/Nuxt.js 【发布时间】:2022-01-21 06:03:34 【问题描述】:夏天
我已经为 Vue.js/Nuxt.js 应用程序中的 API 连接实现了 RepositoryFactory 模式。https://medium.com/canariasjs/vue-api-calls-in-a-smart-way-8d521812c322
hogeRepository.ts
import NuxtAxiosInstance from '@nuxtjs/axios'
type queryData =
q: string | null
export const HogeRepository = ($axios: NuxtAxiosInstance) => (
createResource (apiVersion: Number)
return `v$apiVersion/meetings`
,
get (data: queryData, version = 1)
const url = `$this.createResource(version)`
return $axios.get(url,
params: ...data
)
,
)
repository.ts
import HogeRepository from '~/api/hogeRepository'
export interface Repositories
hoge: typeof HogeRepository
const repositories =
hoge: HogeRepository
export const RepositoryFactory =
get: (key : keyof Repositories) => repositories[key]
hoge.vue
async test ()
await RepositoryFactory.get('hoge')(this.$axios).get()
现在我正在尝试为这些文件编写测试代码。 我想知道如何为他们编写测试代码。
我尝试过的
我试着写一些测试代码。
但它在this
.$axios 上显示错误Object is possibly 'undefined'.ts(2532)
repositoryFactory.spec.ts
import RepositoryFactory from '~/api/repositoryFactory'
describe('RepositoryFactory', () =>
it('Should create repositories', () =>
const repositoryFactory = RepositoryFactory.get('hoge')(this.$axios) <- error on this
)
)
【问题讨论】:
【参考方案1】:你必须模拟 $axios 来测试它。检查这个link。
jest.mock('axios', () => (
get: Promise.resolve('value')
))
【讨论】:
我想为 vue.js (nuxt.js) 中的每个组件加载和填充数据
】我想为vue.js(nuxt.js)中的每个组件加载和填充数据【英文标题】:Iwanttoloadandpopulatethedataforeachcomponentinvue.js(nuxt.js)【发布时间】:2017-11-2807:56:44【问题描述】:我按如下方式启动项目。vueinitnuxt/express我的目录是...components|-slider.vu... 查看详情
前端vue进阶实战:从零打造一个流程图拓扑图项目nuxt.js+element+vuex(代码片段)
本系列教程是用Vue.js+Nuxt.js+Element+Vuex+开源js绘图库,打造一个属于自己的在线绘图软件,最终效果:topology.le5le.com。如果你觉得好,欢迎给文章和开源库点赞,让我们更有动力去做好!本系列教程源码地址:Github一、创建项目框... 查看详情
如何在 R 中为 ggplot 的每个方面添加 R2?
】如何在R中为ggplot的每个方面添加R2?【英文标题】:HowtoaddR2foreachfacetofggplotinR?【发布时间】:2020-05-2508:06:13【问题描述】:有没有办法首先将构面标签从1:3更改为c(good,bad,ugly)。另外,我想为每个方面添加R2值。下面是我的代... 查看详情
如何通过 javascript/typescript 获取“事件”对象的特定元素
】如何通过javascript/typescript获取“事件”对象的特定元素【英文标题】:Howtoget"Event"object\'sspecificelementbyjavascript/typescript【发布时间】:2022-01-1823:53:30【问题描述】:总结我在Vue.js/Nuxt.js应用程序中通过Vuetify.js实现了选择... 查看详情
在 ggplot 中为多个类别制作配对点
】在ggplot中为多个类别制作配对点【英文标题】:makingpairedpointsinggplotformultiplecategories【发布时间】:2022-01-1605:15:06【问题描述】:我知道这个问题之前已经回答过了,但它并没有按照我的意愿去做。我在R中有一个数据框。我想... 查看详情
如何在箱线图中添加一条线?
】如何在箱线图中添加一条线?【英文标题】:Howtoaddalineinboxplot?【发布时间】:2018-08-0914:36:35【问题描述】:我想在箱线图中的“均值”之间添加线条。我的代码:library(ggplot2)library(ggthemes)Gp=factor(c(rep("G1",80),rep("G2",80)))Fc=factor(... 查看详情
如何在 slick 3.0 中将 Rep[T] 转换为 T?
】如何在slick3.0中将Rep[T]转换为T?【英文标题】:HowtoconvertRep[T]toTinslick3.0?【发布时间】:2015-07-2414:56:55【问题描述】:我使用了一个从slick代码生成器生成的代码。我的表有超过22列,因此它使用HList它生成1个类型和1个函数:ty... 查看详情
如何手动将 Qt .rep 复制到 .h,然后将它们 moc 到 .cpp
】如何手动将Qt.rep复制到.h,然后将它们moc到.cpp【英文标题】:HowtomanuallyrepcQt.repto.handthenmocthemto.cpp【发布时间】:2019-02-1523:34:42【问题描述】:我试图在我的.rep文件上手动调用repc,然后在头输出文件上运行moc。repc运行成功,... 查看详情
在 GIT 中的 Rep. 中生成发行说明
...储库,我想在其中提及每个更改、发行说明和日志文件。如何生成这些文件?【问题讨论】:你想要一些东西来生成日志文件和发行说明,或者你想问如何将它们添加到git。为什么这有一个C++标签?@doctorlove回答你:我想生成日... 查看详情
如何在 ZeroMQ 的 REQ-REP 模式中获取请求者的公共 IP?
】如何在ZeroMQ的REQ-REP模式中获取请求者的公共IP?【英文标题】:HowtogetpublicIPofrequesterinREQ-REPpatternofZeroMQ?【发布时间】:2013-05-2005:12:19【问题描述】:听起来在ZeroMQ中按照传统的UNIX套接字使用套接字是没有意义的。我基于对Zero... 查看详情
在 ggplot2 中为 facet_wrap 添加下标和符号
】在ggplot2中为facet_wrap添加下标和符号【英文标题】:Addingsubscriptsandsymbolstofacet_wrapinggplot2【发布时间】:2021-10-2519:18:01【问题描述】:我正在尝试创建一个随时间变化的某些天气状况的2x2刻面图,但在为某些刻面标题添加度数... 查看详情
如何在 ActiveRecord DadaProvider 中为每个模型安装场景
】如何在ActiveRecordDadaProvider中为每个模型安装场景【英文标题】:HowtoinstallthescenarioinActiveRecordDadaProviderforeachmodel【发布时间】:2014-08-2009:02:14【问题描述】:如何在yiiActiveRecordDadaProvider中为每个模型安装场景;默认应该更新publi... 查看详情
如何在 Swift 中为 UIBarButtonItem 设置动作
】如何在Swift中为UIBarButtonItem设置动作【英文标题】:HowtosettheactionforaUIBarButtonIteminSwift【发布时间】:2014-08-2918:01:33【问题描述】:如何在Swift中设置自定义UIBarButtonItem的操作?以下代码成功将按钮放置在导航栏中:varb=UIBarButton... 查看详情
如何在javascript中为函数添加回调
】如何在javascript中为函数添加回调【英文标题】:Howtoaddacallbacktoafunctioninjavascript【发布时间】:2011-12-0306:06:34【问题描述】:我有两个javascript函数functionone()dosomethinglong...likewritingjpgfileondiskfunctiontwo()dosomethingfast...likeshowthefile我... 查看详情
如何在 UITableView 中为 UITableViewStyleGrouped 修复边框
】如何在UITableView中为UITableViewStyleGrouped修复边框【英文标题】:HowtofixborderinUITableViewfortheUITableViewStyleGrouped【发布时间】:2011-10-0309:49:51【问题描述】:对于UITableViewStyleGroupedUITableView,在表格视图下方绘制了一条额外的小线我... 查看详情
如何在 Swift 中为 UIImage 着色?
】如何在Swift中为UIImage着色?【英文标题】:HowcanIcoloraUIImageinSwift?【发布时间】:2015-10-2611:55:09【问题描述】:我有一张名为arrowWhite的图片。我想将此图像着色为黑色。funcattachDropDownArrow()->NSMutableAttributedStringletimage:UIImage=UIIm... 查看详情
如何在highcharts中为图例添加工具提示
】如何在highcharts中为图例添加工具提示【英文标题】:howtoaddtooltiptolegendsinhighcharts【发布时间】:2021-12-1801:04:42【问题描述】:有什么方法可以在Highcharts中为图例添加工具提示?在示例(https://jsfiddle.net/bdkxzf6t/)中,当我们将鼠... 查看详情
如何在hibernate中为count(*)编写查询
】如何在hibernate中为count(*)编写查询【英文标题】:Howtowriteaqueryinhibernateforcount(*)【发布时间】:2013-06-2708:21:03【问题描述】:我想在Hibernate中执行下面的查询?selectcount(*)fromloginwhereemailid=\'something\'andpassword=\'something\'【问题... 查看详情