Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chai as promised-expect with promise始终转换为空对象_Javascript_Unit Testing_Mocha.js_Chai_Chai As Promised - Fatal编程技术网

Javascript Chai as promised-expect with promise始终转换为空对象

Javascript Chai as promised-expect with promise始终转换为空对象,javascript,unit-testing,mocha.js,chai,chai-as-promised,Javascript,Unit Testing,Mocha.js,Chai,Chai As Promised,按照承诺从柴的文件中删除 但是如果我尝试 import chai from 'chai'; import sinon from 'sinon'; import sinonChai from 'sinon-chai'; import dirtyChai from 'dirty-chai'; import chaiAsPromised from 'chai-as-promised'; chai.use(sinonChai); chai.use(dirtyChai); chai.use(chaiAs

按照承诺从柴的文件中删除

但是如果我尝试

import chai from 'chai';
import sinon from 'sinon';
import sinonChai from 'sinon-chai';
import dirtyChai from 'dirty-chai';
import chaiAsPromised from 'chai-as-promised';

chai.use(sinonChai);
chai.use(dirtyChai);
chai.use(chaiAsPromised);

//...

it.only('test', function() {
   return expect(Promise.resolve({ foo: 'bar' })).to.eventually.have.property('foo');
});
我得到了这个断言错误:

AssertionError: expected {} to have a property 'foo'
我尝试了不同的用例和断言,但都是一样的,从
expect(promise)
中得到的总是一个空对象

知道为什么吗

我用

"chai-as-promised": "6.0.0",
"chai": "^3.5.0",
"dirty-chai": "^1.2.2",
"mocha": "3.2.0",
"sinon": "^1.17.3",
"sinon-chai": "^2.8.0"

正如@LostJon提到的,您没有展示如何导入chai库。
e、 g.

let chai = require("chai");
let chaiAsPromised = require("chai-as-promised");

chai.use(chaiAsPromised);
let expect = chai.expect;

describe('chai as promise', () => {
    it('some async test', () => {        

        return expect(Promise.resolve({foo:'bar'})).to.eventually.have.property("foo");

    });
});
该示例适用于以下内容:

"dependencies": {
    "chai": "^3.5.0",
    "chai-as-promised": "^6.0.0",
    "mocha": "^3.2.0"
  }

正如@LostJon提到的,您没有展示如何导入chai库。
e、 g.

let chai = require("chai");
let chaiAsPromised = require("chai-as-promised");

chai.use(chaiAsPromised);
let expect = chai.expect;

describe('chai as promise', () => {
    it('some async test', () => {        

        return expect(Promise.resolve({foo:'bar'})).to.eventually.have.property("foo");

    });
});
该示例适用于以下内容:

"dependencies": {
    "chai": "^3.5.0",
    "chai-as-promised": "^6.0.0",
    "mocha": "^3.2.0"
  }

您可以添加如何导入柴库吗?应该有类似于
var chai=require(“chai”);var ChaiasPromisted=要求(“承诺的柴”);柴。使用(柴)您可以添加导入柴库的方式吗?应该有类似于
var chai=require(“chai”);var ChaiasPromisted=要求(“承诺的柴”);柴。使用(柴)我更新了代码,但这有助于我了解发生了什么。如果我删除
chai.use(dirtyChai),它可以工作。所以我想dirtyChai不能和Chaias一起玩。谢谢我把
chai.use(chaias)放进去
柴。使用(dirtyChai)然后它工作了我更新了我的代码,但这帮助我了解了发生了什么。如果我删除
chai.use(dirtyChai),它可以工作。所以我想dirtyChai不能和Chaias一起玩。谢谢我把
chai.use(chaias)放进去
柴。使用(dirtyChai)然后它就工作了