小编Bon*_*000的帖子

在 Python 中测试类的正确方法是什么?

有一个名为State具有多个属性的类,我需要为其编写单元测试。测试需要执行某些更改State实例属性值的操作。预期参数位于字典内部。单元测试将比较实例的属性State与字典的值是否相等。

问题是保存比较逻辑的最佳位置是什么?我在考虑两个选择:

  1. __eq__将方法添加到State包含比较逻辑的类。
  2. 在包含比较逻辑的测试模块内部添加辅助函数。

哪一个选项更好,为什么?

python testing unit-testing python-3.x python-unittest

5
推荐指数
1
解决办法
566
查看次数

从Puppeteer中的page.evaluate获取元素?

我第一次使用Node.jsPuppeteer,无法找到将值输出page.evaluate到外部范围的方法。

我的算法:

  1. 登录
  2. 开启网址
  3. 得到 ul
  4. 遍历每个li并单击
  5. 等待innetHTML设置,然后将其src内容添加到数组中。

如何从中返回数据page.evaluate()

const puppeteer = require('puppeteer');

const CREDENTIALS = require(`./env.js`).credentials;
const SELECTORS = require(`./env.js`).selectors;
const URLS = require(`./env.js`).urls;

async function run() {
    try {
        const urls = [];
        const browser = await puppeteer.launch({headless: false});
        const page = await browser.newPage();

        await page.goto(URLS.login, {waitUntil: 'networkidle0'});
        await page.type(SELECTORS.username, CREDENTIALS.username);
        await page.type(SELECTORS.password, CREDENTIALS.password);
        await page.click(SELECTORS.submit);
        await page.waitForNavigation({waitUntil: 'networkidle0'});
        await page.goto(URLS.course, {waitUntil: 'networkidle0'});

        const …
Run Code Online (Sandbox Code Playgroud)

html javascript dom node.js puppeteer

3
推荐指数
1
解决办法
4122
查看次数