当前位置: 首页 > 知识库问答 >
问题:

预计不会完全在Jasmine中工作

拓拔霄
2023-03-14

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

我使用grunt-protractor-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.logs都立即显示在日志和之前的方式中。所以看起来完成是在期望函数被处理之前调用的。这是什么原因?是期望()异步吗?

现在我只是使用“应该”库。这就像一个魅力。我仍然想知道我做错了什么。

共有1个答案

颜云瀚
2023-03-14

您错过了it。有关Jasmine的文档,请参阅http://jasmine.github.io/2.0/introduction.html。

您可能还需要更改超时:https://github.com/angular/protractor/blob/master/docs/timeouts.md#timeouts-from-jasmine

 类似资料:
  • 问题内容: 我将 Jasmine 和 Karma 一起使用,以测试基于 Angular 构建的应用程序。 我必须测试加载用户数据的服务,并且使用 $ httpBackend 模拟响应。但是,当我运行测试时,出现两个错误: 错误:没有等待刷新的请求! 错误:请求不满意:GET https://api.github.com/users/wilk 模块: 测试: 假设GITHUB_API_URL等于 ‘

  • 目前的问题是jenkins管道作业确实正常运行并完成。但在用户界面中,作业会一直保留,直到我们通过用户界面中止它。这似乎并不常见,可能在5%的工作中。这可能是jenkins的错误,可能是重新加载配置的问题,也可能是节点上的流量过大。我真的不确定。因为所有的“buggy”工作都有一个带条纹的进度条,这可能是一个线索。 带条纹的进度条是什么意思? 如果您对该漏洞的来源有任何其他建议,我们将不胜感激。

  • 下面的URL模块正在工作 但无法在服务器上像这样运行它: 为什么?? 我怎样才能像localhost?一样在服务器上正常运行 我使用密码点火器。

  • 我正在使用Jasmine 2.0和require.js。当我将异步代码放入beforeach函数中时,我无法使异步测试正常工作。在异步调用完成之前,我的it语句仍在运行。 这是我的规格: 当我在it中包含异步时,第一个规范失败,但第二个规范通过。 理想情况下,我希望异步之前的

  • 我正在学习Java8以及更多关于“可完成的未来”的细节。以下是有趣的教程:https://www.callicoder.com/java-8-completablefuture-tutorial/ 我编写了以下Java类: (为了运行该代码,您需要resteasy-Client库) 但是我不明白为什么即使收集了所有的响应,主方法也不会终止... 我错过什么了吗?是否有一些“完整”的方法可以在任何地

  • 我有一个折叠工具栏布局设置,我在那里放置壁纸。我希望能够阻止它一路崩溃。 我尝试过minheight和许多其他事情,但无法弄清楚。 怎么才能让它停止折叠到第二张截图? 加载活动时查看 期望的停止点 当前停止点