vue.js - 如何使用 jest 测试作为参数传递给 vue.js 中调度操作的输入?
问题描述
我有一个列表,我在其中选择数据源并将选定的数据源存储在 selectedDataSourcesArray 中。当我单击提交按钮时,将调用以下函数。
async addAnalysisToDB() {
this.loading = true
const sources = []
for (let i = 0; i < this.selectedDataSourcesArray.length; i++) {
sources.push({
type: this.selectedDataSourcesArray[i].type,
attributes: this.selectedDataSourcesArray[i].attributes,
})
}
try {
const payload = {
projectId: this.selectedProjectId,
dataSources: sources,
}
await this.$store.dispatch("startAnalysis", payload)
} catch (exception) {
console.error(exception)
this.loading = false
this.errorDialog = true
return
}
this.loading = false
this.successDialog = true
this.rerenderList()
},
我想做的是创建一个名为 privateProjects.spec.js 的测试文件,并使用 jest 测试 addAnalysisToDB() 函数。
我想在测试文件中设置 selectedDataSourcesArray 的内容,并通过比较测试文件中创建的 expectedPayload 来检查有效负载的内容。
像这样的东西:
selectedDataSourcesArray = someArray
expectedPayload = object
expect(payload).toEqual(expectedPayload)
模板中的按钮格式如下
<v-btn
:loading="loading"
:disabled="!selectedDataSourcesArray.length"
color="primary"
@click="addAnalysisToDB"
>
Create Analysis
</v-btn>
解决方案
推荐阅读
- vue.js - 错误删除“CR”更漂亮/更漂亮的 Visual Studio 代码
- visual-c++ - Trouble collecting user inputs and storing them in vector
- azure-logic-apps - How do I return JSON from my Azure Storage Queue?
- solr - Index different type of documents using Solr
- c# - 如何在 .NET Core 2.x 中替换 SqlCommand.BeginExecuteReader?
- c - Global Variable not reading in Lexer function
- php - Caculation of net profit
- reference - 如何将数组的可变引用传递给函数?
- python - 为什么我们要在 Django 中为 MongoDB 创建模型字段?
- graphql - Graphql 超时错误以及如何处理