我想更好地學習JavaScript。要做到這一點,我認爲我會努力編寫一個可重用的組件。我希望能夠測試這個組件。目前,我有以下文件結構:在JavaScript中使用模塊
/lib
/services
/my-service
my-service.js
my-service-tests.js
my-service.js
如下所示:
function MyService() {
}
MyService.prototype.serviceType = "Test";
MyService.prototype.execute = function(p1, p2) {
console.log('executing with ' + p1 + ' and ' + p2);
try {
// do stuff
} catch (ex) {
console.log(ex);
}
};
my-service-tests.js
使用茉莉花,看起來像下面這樣:
describe("MyService", function() {
it(" Can execute", function() {
expect(true).toBe(true);
});
});
我可以成功執行通過Gulp從命令行進行測試。但是,我的挑戰是,我想調用MyService上的execute函數。最終,我想圍繞MyService編寫測試。我希望在上面的測試中做這樣的事情:
var service = new MyService();
service.execute();
有沒有辦法做到這一點?我感覺我很親密。不幸的是,似乎有些事情我沒有完全理解。如果我只是添加這個代碼,我得到一個參考錯誤。它像它不知道MyService的位置。我不知道該怎麼做。感謝您的幫助。
對我來說,它看起來不錯。我使用類似於此的代碼。什麼瀏覽器(IE有'console.log'問題)?而且,你得到的錯誤是什麼? – rfornal 2014-12-04 23:48:29
你真的在測試中加載了'my-service.js'嗎? – plalx 2014-12-04 23:49:53
@plalx'my-service.js'未在測試中加載。我不知道如何加載它。 – 2014-12-05 13:15:16