2014-04-30 72 views
2

我在嘗試從我的摩卡測試套件發送PhantomJS調用服務器時遇到問題。摩卡里面使用PhantomJS的問題

問題

我正在嘗試使用PhantomJS對端點執行調用。我有第一個電話工作。

但我有兩個問題:

  • 當前的腳本運行良好的第一次,但在觀看某些文件時,連續運行使測試失敗。我能解決這個問題嗎?
  • 這似乎不是一個很好的方式來做這些測試,有沒有更好的選擇?

設置:

  • 咕嘟咕嘟作爲觀察者
  • 吞-摩卡運行測試
  • 幻象同步做一些端到端測試

摩卡測試文件(簡化):

if(typeof process != 'undefined') { 
    var should = require('chai').should(); 
    var _ps = require('phantom-sync'); 
    var phantom = _ps.phantom; 
    var sync = _ps.sync; 
} 

describe('Login', function() { 
    this.timeout(5000); 

    it('should be able to open CMS', function(done) { 

    sync(function() { 
     var ph = phantom.create(); 
     var page = ph.createPage(); 
     var status = page.open('http://www.google.com'); // Get a default CMS url... 
     status.should.equal('success'); 
     ph.exit(); 
     return done(); 
    }); 

    }); 

    it('should redirect after successful login'); 

}); 

Gulpfile(簡體):

gulp.task('test-develop', ['scripts'], function() { 
    return test(null, true); 
}); 

var keepAlive = false; 

function test(reporter, _keepAlive) { 

    keepAlive = _keepAlive; 

    return gulp.src('test/**/*.js') 
    .pipe(plugins.plumber()) 
    .pipe(plugins.mocha({ reporter: reporter || 'spec' }) 
     .on('error', onError)); 

} 

function onError(err) { 

    console.log(err.toString()); 
    if (keepAlive) { 
    this.emit('end'); 
    } else { 
    // if you want to be really specific 
    process.exit(1); 
    } 

} 

gulp.task('watch-test', function() { 
    gulp.watch('test/**/*.js', ['test-develop']); 
}); 

錯誤:

➜ [project_dir] git:(feature/phantomjs-tests) ✗ gulp watch-test 
[gulp] Using gulpfile [project_dir]/gulpfile.js 
[gulp] Starting 'watch-test'... 
[gulp] Finished 'watch-test' after 26 ms 
[gulp] Starting 'scripts'... 
[gulp] Finished 'scripts' after 530 ms 
[gulp] Starting 'test-develop'... 


    Homepage 
    Menu 
     - should open without error 
     - should close without error 

    Login 
    ✓ should be able to open CMS (2126ms) 
    - should capture wrong username 
    - should capture wrong password 
    - should capture wrong username & password 
    - should redirect after successful login 

    ArtobjectPage 
    #ArtobjectPage 
     - should save $container 
     - should call setupZoom 
     - should call setupInfoButton 
     - should call setupObjectData 


    1 passing (2s) 
    10 pending 

[gulp] Finished 'test-develop' after 2.42 s 
[gulp] Starting 'scripts'... 
[gulp] Finished 'scripts' after 94 ms 
[gulp] Starting 'test-develop'... 


    Homepage 
    Menu 
     - should open without error 
     - should close without error 

    Login 
    1) should be able to open CMS 
    - should capture wrong username 
    - should capture wrong password 
    - should capture wrong username & password 
    - should redirect after successful login 

    ArtobjectPage 
    #ArtobjectPage 
     - should save $container 
     - should call setupZoom 
     - should call setupInfoButton 
     - should call setupObjectData 


    0 passing (2ms) 
    10 pending 
    1 failing 

    1) Login should be able to open CMS: 
    TypeError: undefined is not a function 
     at sync ([project_dir]/node_modules/phantom-sync/node_modules/make-sync/lib/make-sync.js:132:10) 
     at Context.<anonymous> ([project_dir]/test/e2e/login.js:13:5) 
     at Test.Runnable.run ([project_dir]/node_modules/gulp-mocha/node_modules/mocha/lib/runnable.js:196:15) 
     at Runner.runTest ([project_dir]/node_modules/gulp-mocha/node_modules/mocha/lib/runner.js:374:10) 
     at [project_dir]/node_modules/gulp-mocha/node_modules/mocha/lib/runner.js:452:12 
     at next ([project_dir]/node_modules/gulp-mocha/node_modules/mocha/lib/runner.js:299:14) 
     at [project_dir]/node_modules/gulp-mocha/node_modules/mocha/lib/runner.js:309:7 
     at next ([project_dir]/node_modules/gulp-mocha/node_modules/mocha/lib/runner.js:247:23) 
     at Object._onImmediate ([project_dir]/node_modules/gulp-mocha/node_modules/mocha/lib/runner.js:276:5) 
     at processImmediate [as _immediateCallback] (timers.js:330:15) 



[gulp] Error in plugin 'gulp-mocha': 1 test failed. 
[gulp] Finished 'test-develop' after 85 ms 

回答

0

它結束了狀態邪惡和幻影不正確清除它的緩存&餅乾當記者問到。

+0

爲什麼downvote?我關閉了這個漫長的問題。 –