赛普拉斯治具在TypeScript中的用法

时间:2019-02-28 03:50:24

标签: javascript jquery typescript testing cypress

我在Java规范中使用了Cypress,最近又切换到Typescript。在使用Fixtures时,我使用了以下方法来使用Javascript。但是,使用Typescript会遇到一些困难。

修复JSON文件:

我的夹具文件在/cypress/fixtures/sql_queries.json

{
    "query_1": "SELECT * FROM TABLE_1",
    "query_2": "SELECT * FROM TABLE_2",
}

之前:

before('Load data to fixture', () => {
     cy.fixture('sql_queries')
         .as('sqlQueries')
})

测试规范:

在下面的示例测试中,我正在使用已加载的夹具文件,

it('Test something', () => {
     cy.get('@sqlQueries')
         .then((queries) => {
             cy.log(queries.query_1)
         })
})

问题:

我收到的错误是Property 'query_1' does not exist on type 'JQuery<HTMLElement>

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

类型定义似乎认为您的alias是元素。请尝试在参数上为传递给.then的函数添加类型:

.then((queries:any) => {