如何与僵尸asynchronousJavaScripttesting工作?

这个问题我创build了一个应用程序,与expressionjs和我试图用僵尸来testing它。 我已经写了一些testing来检查网页上的内容。 我已经手动检查了页面,并且正确地从我们的数据库中加载了内容。 但是,当我运行我们的testing时,我得到不可预知的结果。

这些是我们的testing。 第一个testing是失败的。

before(function(done) { models.Listing.create({name: "Studio Flat in London", text: "This is a great flat in zone one."}); models.Listing.create({name: "The Fish Market", text: "description"}); done(); }); beforeEach(function(done) { browser.visit('/', done); }); it('each property should have a title', function(done) { expect(browser.html("body")).to.include("Studio Flat in London"); }); it('each property should have a title the fish market', function(){ expect(browser.html("body")).to.include("The Fish Market"); }); 

第一个testing失败,因为它找不到页面上的文本。 第二个testing通过。

评论奇怪的部分是,testing,寻找完全相同types的内容传递。 即使是那些依赖于数据库的其他内容的testing。 例如,我testing一个标题和一个描述,我们可以find描述。

可能导致问题的区域。 这是一个问题,asynchronoustesting如何工作? 如何确保在testing运行之前加载页面?

谢谢