最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何更改记录的属性与cypress.io分贝

IT培训 admin 2浏览 0评论

如何更改记录的属性与cypress.io分贝

我是新来的柏树,我不知道我该怎么做以下检查:我的情况:我有一个产品在数据库中,可以有状态:INSTOCK和OutOfStock和停产。如果产品是在“INSTOCK”状态,我应该能够将其分派给客户,如果在“OutOfStock” /“停产”我不应该能够派遣给顾客。随着API调用我可以将产品分派给客户。如果产品是在“INSTOCK”状态,API响应是200,如果没有响应是的StatusCode 400所以我的问题是:如何可以改变的分贝为每个测试的产品的状态,所以我可以检查每个的3个状态的(如果API返回正确的应答)?我知道如何检查API响应本身,但它不是我清楚如何改变产品的状态在数据库中,每个测试之前。

回答如下:

不像@Maccurt,我会真正做到这一点,你提出的方式(改变DB),这样你就可以正确地测试E2E流。

而不是建立测试路线这将写入到数据库,您可以使用cy.task交谈赛普拉斯亚军的节点的过程,可以直接写入到数据库。它会是这样的:

使用本示例中的Postgres(node-postgres)。

your-test.spec.js

describe("test", () => {
    it("test", () => {
        cy.task("query", {
            sql: `
                UPDATE product
                SET status = $1
                WHERE id = $2
            `,
            values: [ "InStock", 40 ]
        });

        // your cy assertions here
    });
});

cypress/plugins/index.js

const pg = require("pg");
const pool = /* initialize your database connection */;

module.exports = ( on ) => {

    on( "task", {
        query ({ sql, values }) {

            return pool.query( sql, values );
        }
    });
});

如何更改记录的属性与cypress.io分贝

我是新来的柏树,我不知道我该怎么做以下检查:我的情况:我有一个产品在数据库中,可以有状态:INSTOCK和OutOfStock和停产。如果产品是在“INSTOCK”状态,我应该能够将其分派给客户,如果在“OutOfStock” /“停产”我不应该能够派遣给顾客。随着API调用我可以将产品分派给客户。如果产品是在“INSTOCK”状态,API响应是200,如果没有响应是的StatusCode 400所以我的问题是:如何可以改变的分贝为每个测试的产品的状态,所以我可以检查每个的3个状态的(如果API返回正确的应答)?我知道如何检查API响应本身,但它不是我清楚如何改变产品的状态在数据库中,每个测试之前。

回答如下:

不像@Maccurt,我会真正做到这一点,你提出的方式(改变DB),这样你就可以正确地测试E2E流。

而不是建立测试路线这将写入到数据库,您可以使用cy.task交谈赛普拉斯亚军的节点的过程,可以直接写入到数据库。它会是这样的:

使用本示例中的Postgres(node-postgres)。

your-test.spec.js

describe("test", () => {
    it("test", () => {
        cy.task("query", {
            sql: `
                UPDATE product
                SET status = $1
                WHERE id = $2
            `,
            values: [ "InStock", 40 ]
        });

        // your cy assertions here
    });
});

cypress/plugins/index.js

const pg = require("pg");
const pool = /* initialize your database connection */;

module.exports = ( on ) => {

    on( "task", {
        query ({ sql, values }) {

            return pool.query( sql, values );
        }
    });
});
发布评论

评论列表 (0)

  1. 暂无评论