2016-02-24 3 views
0

Это может быть глупый вопрос, но я должен спросить об этом в любом случае.Как запустить внешний скрипт в мокко

Я использую Zombie.js и Mocha для моего теста, и у меня есть внешний скрипт с именем: external.js.

// external.js 

module.exports = "console.log('hey');"; 

Я хотел бы загрузить этот внешний скрипт в тест мокко (не Zombie.js открыл браузер) и запустить его перед запуском теста.

var myScript = require('../external.js'); 

describe('test script load', function() { 
    browser.visit('www.example.com', done); 

    // I want to load the external script here and run it before perfoming the test 

    it('loads script', function (done) { 
    browser.assert.success(); 
    done(); 
    }); 
}); 

Я попробовал несколько способов, как создать тег сценария и вставив мой внешний сценарий, но, кажется, работает, когда в HTML (потому что он хорошо работает в браузере Зомби), но я хочу сценарий перед запуском теста.

ответ

3

Вы имеете в виду, как впрыскивать скрипт на страницу zombie.js загружается? См.: Injecting javascript into zombie.js.

Если не то, что вы могли бы попробовать что-то вроде этого:

external.js:

function doSomething() { 
    console.log('hi there!'); 
} 

module.exports = doSomething; 

mocha.js:

var doSomething = require('./external.js'); 

your test.... 

doSomething(); 

your test continued... 

Это должно работать.

+1

Нет, не вводите в страницу зомби. Ввод в мокко до или после зомби загружает страницу, но определенно перед запуском теста. – Ezekiel

+0

Хорошо, но вы хотите использовать функцию из другого скрипта в своем тесте. Если вы поместите его в функцию, а затем экспортируете эту функцию и назначьте ее для импорта с тем же именем, а затем вызовите его в тестовом скрипте, он должен работать. –

+1

Я получил некоторое представление о вашем подходе. Да, это сделано. – Ezekiel

 Смежные вопросы

  • Нет связанных вопросов^_^