3

一部の要素がページに表示されないようにするために、高速アプリでzombie.js(mochaを使用)を使用しようとしています。これを行う方法は次のとおりです。

var app = require('../app).app, // this is express but you don't care
    chai = require('chai'),
    should = chai.should(),
    Browser = require('zombie'),
    browser = new Browser();

describe("page", function() {

    it('should not have a the whatever element', function(done) {
        browser.visit('http://localhost:3000', function() {
            browser.query('#whatever').should.not.exist;
            done();
        });
    });

});

このテストを実行すると、常に失敗します。

  • #whatever が存在する場合、次のようになります。

    expected <div class="whatever">whatever</div> to not exist

  • #whatever が存在しない場合は、テストに合格したいのですが、エラーも発生します

    TypeError: Cannot read property 'should' of null

これはばかげたテストかもしれませんが、合格するためにそのようなテストを作成する方法はありますか? 私はどこで間違っていますか?

どうも。

4

2 に答える 2

3

^4.2.1他のアサーション ライブラリを必要としない、zombie.js ネイティブ ソリューション (バージョン):

browser.assert.elements('#whatever', 0);

一致する要素が正確に 0 個あるかどうかをテストします#whatever

ドキュメンテーション

于 2016-05-29T03:57:17.787 に答える