小编Ele*_*ena的帖子

用笑话测试回调函数

我正在尝试测试一个带有回调的函数。我设置了一个模拟函数,但我还需要测试一个回调。

我试图将它作为另一个模拟函数分开,但它不算作覆盖。

我正在尝试测试的功能:

export const checkDescription = async page => {
    const metaDescription = await page.$eval(
      'meta[name="description"]',
      description => description.getAttribute("content")
    );
    return metaDescription;
};

Run Code Online (Sandbox Code Playgroud)

我嘲笑了页面功能:

const page = {
  $eval: jest.fn(() => "Value")
};
Run Code Online (Sandbox Code Playgroud)

我的测试:

test("Should return description", async () => {
  expect(await checkDescription(page)).toBe("Value"); 
  expect(page.$eval).toHaveBeenCalled();
});

Run Code Online (Sandbox Code Playgroud)

我试图分开描述:

const description = {
  getAttribute: jest.fn(() => "Value")
};  
Run Code Online (Sandbox Code Playgroud)

但我不认为这是在 $eval 中覆盖描述的正确方法。

javascript unit-testing callback jestjs puppeteer

12
推荐指数
1
解决办法
1万
查看次数

将 Jest 与 Puppeteer 一起使用:评估失败:ReferenceError:cov_4kq3tptqc 未定义

我正在尝试使用 Puppeteer 获取页面的描述,我有一个高阶函数,可以为该函数提供页面对象:

export const checkDescription = async page => {
  const metaDescription = await page.$eval(
    'meta[name="description"]',
    description => description.getAttribute("content")
  );
  return metaDescription;
};
Run Code Online (Sandbox Code Playgroud)

该功能按预期工作。然后,我使用 Jest 运行测试。

const testDescription = await withPage(checkDescription)(URL);
expect(typeof testDescription).toBe("string");
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

  Error: Evaluation failed: ReferenceError: cov_4kq3tptqc is not defined
      at __puppeteer_evaluation_script__:2:41
      at ExecutionContext.evaluateHandle 
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)
    -- ASYNC --
      at ExecutionContext.<anonymous> 
      at ExecutionContext.evaluate
      at ExecutionContext.<anonymous> 
      at ElementHandle.$eval
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)
    -- ASYNC --
Run Code Online (Sandbox Code Playgroud)

如果我只是将该函数粘贴到 jest 文件中,那么它会按预期工作

javascript automated-tests web-scraping jestjs puppeteer

9
推荐指数
2
解决办法
1439
查看次数

Chart.js与React

我想在我的项目中实现图表,我决定使用react-chart.js

我正在尝试在我的组件中添加一个示例,所以我添加了以下代码:

var MyChart = React.createClass({

  render: function() {
    console.log(chartData)
    return <LineChart data={chartData} options={null} width="600" height="250"/>
  }
});

module.exports = MyChart;
Run Code Online (Sandbox Code Playgroud)

chartData是一个对象

我有一个错误:

core.js:64 Uncaught TypeError :(中间值)[chartType]不是函数

我也尝试了其他图表,但没有一个能够正常工作,所以我可能做错了什么,但我找不到什么

javascript charts reactjs chart.js react-chartjs

4
推荐指数
1
解决办法
4436
查看次数

href不起作用,使用反应路由器

我正在尝试为弹出模块提供一个单独的URL,我正在使用一个按钮来重定向:

trigger={ <Link href="/exercisesadd">
          <Button style={style} waves='light' > Add new</Button></Link>
        }>
Run Code Online (Sandbox Code Playgroud)

但我收到404错误,即使我在反应路由器中有这条路线:

    export default () => {
    return <Route path="/"component={Container} auth={auth}>
        <IndexRoute component={Home}/>
        <Route path="/portfolio"  onEnter={requireAuth} component={Portfolio} />
        <Route path="/Login" component={Home} />
        <Route path="/home" component={Home}  />
        <Route path="/edit" component={Edits}/>
        <Route path="/exercises" component={Exercises}/>
        <Route path="/exercisesadd" component={Exercises}/>
    </Route>
};
Run Code Online (Sandbox Code Playgroud)

popup hyperlink uinavigationcontroller reactjs react-router

0
推荐指数
1
解决办法
5093
查看次数