2014-08-29 1 views
0

У меня очень простой вопрос. Как я могу протестировать класс/функцию node.js в другом каталоге из папки корневых спецификаций?Как выполнить тестирование конкретного файла node.js с использованием системы jasmine

Что я имею в виду здесь есть, скажем, у меня есть папка Спекуляции, расположенный в корневом каталоге моего проекта

Здесь у меня есть модульный тест, написанный на жасмин к классу helloworld.js, расположенный в

/service/benefits/programs/california/helloWorld.js 

Содержание helloworld.js

var helloWorld = function(){ 
    return 'hello world'; 
}; 

Вот мой узел-жасмин тестового модуля

HelloWorld-spec.js:

describe("Hello World", function() { 

    it("should return string hello world", function() { 
     expect(helloWorld()).toEqual('hello world'); 
    }); 

}); 

Испытание устройства не будет, потому что он не может видеть helloworld.js, как я могу сделать это увидеть HelloWorld .js

Как я должен добавить что-то вроде этого:

var helloWorld = require(../../../../helloWorld.js); 

Я даже не понимаю, что представляют собой эти точки? Как я могу сделать эту работу? Кто-нибудь? Пожалуйста помоги.

ответ

1

Ваш путь скорее всего неправильный. Точки представляют путь относительно текущего пути, каждый ../ занимает один уровень в структуре папок.

Произнесите 2 папки структуры, как это:

/root/specs/test-spec.js 
/root/service/benefits/programs/california/helloWorld.js 

, если вы хотите получить доступ к helloworld.js в тест-spec.js: причина вы бы использовать ../ первым, чтобы подняться на один уровень в этом случае из specs папки в папку root

результат будет: var helloWorld = require(../service/benefits/programs/california/helloWorld.js);

однако если вы пытаетесь попасть в тест-spec.js от HelloWorld .js вам нужно будет пройти назад по структуре папок на корневом уровне, который снова где ../ приходит, как мы должны вернуться в Калифорнию, программы, льготы, услуги, чтобы добраться до уровня корневой:

var helloWorld = require(../../../../specs/test-spec.js); 

Этот метод называется относительными путями, где путь относится к тому, где вы находитесь в структуре папок. Альтернативно вы можете использовать символ «/», чтобы указать, что вы хотите начать с корневого уровня, если знаете, что ваша папка всегда находится на корневой уровень:

var helloWorld = require(/specs/test-spec.js) 

Надеется, что это очищает его и что я правильно понял ваш вопрос;)