Node.js 预计不会完全在Jasmine工作

Node.js 预计不会完全在Jasmine工作,node.js,jasmine,protractor,Node.js,Jasmine,Protractor,我正在用量角器进行jasine测试,我不确定expect是如何工作的。我希望茉莉花给我一个失败,因为我显然有一个失败的期望。但事实并非如此 我使用grunt量角器runner 1.2.1,它使用Jasmine2 我有一个测试用例: var validateObject = function(object) { expect('1.0').toEqual('1.0'); //no error //expect('1.1').toEqual('1.0'); //error

我正在用量角器进行jasine测试,我不确定expect是如何工作的。我希望茉莉花给我一个失败,因为我显然有一个失败的期望。但事实并非如此

我使用grunt量角器runner 1.2.1,它使用Jasmine2

我有一个测试用例:

var validateObject = function(object) {

    expect('1.0').toEqual('1.0'); //no error
    //expect('1.1').toEqual('1.0'); //error

    console.log(object['property']); //1.0
    console.log(object['property'] === '1.0'); //true
    console.log(typeof object['property']); //string

    /*PROBLEM STARTS HERE*/
    expect(object['property']).toEqual('1.0'); //no error
    expect(object['property']).toEqual('1.1'); //no error
};

var readSomething = function(done) {
    fs.createReadStream('folder + fileName')
        .pipe(operation.Parse())
        .on('entry', function(file) {
            validateObject(file);
        .on('end', function(){
            done();
        });
};

describe('test this', function () {
    it("stuff", function (done) {
        /*lots of stuff happening*/

        expect('asd').toEqual('asd'); //no error
        //expect('asd').toEqual('asds'); //error
        readSomething(done);
    });
});
你知道我在这里遗漏了什么吗?我是否缺少一些异步函数? 我注意到的一件事是,当我注释掉“done()”时,在所有事情发生几秒钟后,日志开始为每次调用validateObject的迭代显示其中一个:

A Jasmine spec timed out. Resetting the WebDriver Control Flow.
The last active task was:
unknown
F

Failures:
1) ----Bulkd Process----- testing the whole bulk process
  Message:
    Expected '1.0' to equal '1.1'.
在此之前,所有console.log都会立即显示在日志和路径中。 因此,看起来在处理expect函数之前调用了done。原因是什么?expect()是异步的吗


现在我只使用“应该”库。这就像一个咒语。但我还是想知道我做错了什么。

你错过了它。有关茉莉花的文档,请参阅


您可能还需要更改超时时间:

实际上我正在使用它,我忘记在这里添加它,因为我试图抽象我的问题集。现在更新了。我有一个相当高的开始。由于它可以与should.js而不是jasmines预期一起工作,所以我不希望我的测试依赖于预期速度。