簡體   English   中英

如何從 beforeEach() 傳遞值進行測試? 摩卡/柴

[英]How do I pass value from beforeEach() to test? Mocha/Chai

如何將我的 beforeEach() function 中的dom object 傳遞給我的測試?

例如:

describe('2) Key DOM elements exist', function() {

beforeEach(function(done){
    JSDOM.fromURL('http://localhost:3000/', ).then(dom => {
        this.hello = dom;
    });
    done();
  });

  it('a) Header element is present', function() {
        console.log(hello);
        const header = dom.window.document.getElementById('header');
        expect(header).to.exist;
 })
});

問題是this沒有綁定到傳遞給beforeEach function 解決方案是.bind(this) ,使用箭頭 function 或使用范圍為describe回調塊的變量。

這是使用箭頭 function 的示例:

describe('tests', () => {
  beforeEach(async () =>
    Promise.resolve('foo').then(result => {
      this.dom = result;
    })
  );

  it('works', () => {
    console.log(this.dom); // => foo
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM