Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
如何使用zombie进行异步javascript测试?_Javascript_Node.js_Express_Mocha.js_Zombie Process - Fatal编程技术网

如何使用zombie进行异步javascript测试?

如何使用zombie进行异步javascript测试?,javascript,node.js,express,mocha.js,zombie-process,Javascript,Node.js,Express,Mocha.js,Zombie Process,问题 我已经用expressjs创建了一个应用程序,我正试图用zombie测试它。我已经写了很多测试来检查网页上的内容。我已经手动检查了页面,内容已正确加载到我们的数据库中。然而,当我运行我们的测试时,我得到了不可预测的结果 这些是我们的测试。第一次测试失败。 before(function(done) { models.Listing.create({name: "Studio Flat in London", text: "This is a great flat in zone on

问题 我已经用expressjs创建了一个应用程序,我正试图用zombie测试它。我已经写了很多测试来检查网页上的内容。我已经手动检查了页面,内容已正确加载到我们的数据库中。然而,当我运行我们的测试时,我得到了不可预测的结果

这些是我们的测试。第一次测试失败。

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");
});
第一个测试失败,因为它无法在页面上找到文本。第二次测试通过

评论 奇怪的是,寻找完全相同类型内容的测试通过了。甚至是寻找依赖于数据库的其他内容的测试。例如,我测试一个标题和一个描述,我们可以找到描述

可能导致问题的区域。 这是异步测试的问题吗?它是如何工作的? 如何确保在测试运行之前加载页面

谢谢