我一直在尝试同时使用requirejs和js-test-driver,但我看不到它可以正常工作。
我在根目录有这样的最小配置:
server: http://localhost:9876
load:
- src/main/resources/web/resources/vendor/requirejs/require.js
test:
- src/test/js/*.js
“src/main/js/greeter.js”文件定义了一个愚蠢的模块:
define(function(require) {
myapp = {};
myapp.Greeter = function() {
};
myapp.Greeter.prototype.greet = function(name) {
return "Hello " + name + "!";
};
return myapp;
});
我试图让 require 在 "src/test/js/greeterTest.js" 中加载欢迎模块:
GreeterTest = TestCase("GreeterTest");
require.configure({ ???? });
require([ "src/main/js/greeter" ], function(myapp) {
GreeterTest.prototype.testGreet = function() {
var greeter = new myapp.Greeter();
assertEquals("Hello World!", greeter.greet("World"));
};
});
每当我运行它时,我都会收到一个错误,因为在创建 Greeter 时未定义 myapp。
那么有没有办法在这种情况下配置 require ?我试过 :
- 将 baseUrl 属性设置为类似 file:///.... 以提供文件的位置
- 使用网关配置来代理 requirejs 可能执行的请求(尽管我没有运行服务器来提供 js 文件,所以我不得不再次使用 file:///)
还有什么我应该尝试的吗?
谢谢