是否可以运行使用requirejs模块的js测试驱动程序测试?
我一直在尝试使用和沿边,我看不到它的工作 我在根目录中有这样一个最小配置:是否可以运行使用requirejs模块的js测试驱动程序测试?,requirejs,js-test-driver,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 = {};
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”中加载greeter模块:
每当我运行此程序时,都会出现一个错误,因为在创建迎宾员时没有定义myapp
那么,在这种情况下,有没有办法配置require?我试过:
- 将baseUrl属性设置为file:///.... 提供文件的位置
- 使用网关配置代理requirejs可能执行的请求(尽管我没有运行服务器来提供js文件,所以我不得不再次使用file://)
谢谢事实证明这是可能的,但记录得很差:
- js测试驱动程序有一个允许测试服务器响应静态文件的设置
- 一旦送达,这些文件就可以在localhost:42442/test/xxxx上获得(除了在文档页面的注释下方,从未提及“test”前缀)李>
server: http://localhost:9876
load:
- src/main/resources/web/resources/vendor/requirejs/require.js
test:
- src/test/js/*.js
serve:
- src/main/js/*.js
requirejs的配置必须如下所示:
require({
baseUrl : "/test/src/main/js"
}, [ "greeter" ], function(myapp) {
GreeterTest = TestCase("GreeterTest");
GreeterTest.prototype.testGreet = function() {
var greeter = new myapp.Greeter();
assertEquals("Hello World!", greeter.greet("World"));
};
});
注意:
- 测试前的测试
- 您必须重用“src/main/js”部分;我猜这与我的jsTestDriver配置与“src”文件夹位于同一级别有关,并且 如果放置在其他位置,可能需要进行一些调整
- js测试驱动程序有一个允许测试服务器响应静态文件的设置
- 一旦送达,这些文件就可以在localhost:42442/test/xxxx上获得(除了在文档页面的注释下方,从未提及“test”前缀)李>
server: http://localhost:9876
load:
- src/main/resources/web/resources/vendor/requirejs/require.js
test:
- src/test/js/*.js
serve:
- src/main/js/*.js
requirejs的配置必须如下所示:
require({
baseUrl : "/test/src/main/js"
}, [ "greeter" ], function(myapp) {
GreeterTest = TestCase("GreeterTest");
GreeterTest.prototype.testGreet = function() {
var greeter = new myapp.Greeter();
assertEquals("Hello World!", greeter.greet("World"));
};
});
注意:
- 测试前的测试
- 您必须重用“src/main/js”部分;我猜这与我的jsTestDriver配置与“src”文件夹位于同一级别有关,并且 如果放置在其他位置,可能需要进行一些调整