哇,乱七八糟的,情况是这样的
- Backbone driven JS app.
AMD 功能需要JS, 初始化如下:
<script data-main="js/main" src="js/require.js" type="text/javascript"></script>
然后在主. js 内设置以下配置代码:
require.config( { paths: { ... : ... } });
每个后骨视图/ 摩德尔/ 路透是一个“ define(...) ” 模块, 而“ require (“ 单路人 ” ) ” 在主. js 中被调用一次 。
rjs 用作 Uglify/Clocure 的优化器。 一个已编译的主 js 是在./ release 子文件夹中创建的, 我在我的.net 框架内动态选取 。
花了相当长的时间才把后骨 + 要求。 JS 工作,但现在工作很好!
将每个测试模块定义为AMD, 使用需要定义(...) 的调用, 并且我即时调用 & amp; 在 SpecRunner. html 中, 一次调用要求(...) 时运行茉莉 :
require( [ //"test/specs/testSpec1", "test/specs/views" ], function () { jasmine.getEnv().updateInterval = 1000; var reporter = new jasmine.TrivialReporter(); jasmine.getEnv().addReporter(reporter); .... .... });
这工作也很好。 测试加载 & amp; 运行, 没有问题。 需要处理所有问题 。
现在,我希望像JSTORTDriver这样的框架能成为我的选手。 我选择JSTD是为了简单、在远程浏览器上测试的能力、代码覆盖支持,但是仍然可以接受其他建议。
JSTestoDriver本身运作良好,我唯一的问题是将JSTD + Jasmine + ReuireJS组合在一起。 最大的问题是,如果我在配置文件中告诉JSTD关于Jasmine/Require测试模块以便加载,我就会发现以下错误:
http://requirejs.org/docs/errors.html#mismatch>>http://requirejs.org/docs/errors.html#mismatch
如果我使用 r.js 将我所有的代码选入一个主js, 组合工作, 包括覆盖, 但覆盖就集中在一个巨大的文件上, 很难分析。 更不用说用50k-line js 文档来仪器, 并且通过 JSTD 进行操作需要很长的时间了 。
我尝试创建一个固定式的js文件, 装载我所有的茉莉花测试模块( amp; 代码模块), 但我会继续回到上述“ 模拟” 错误, 如果我不单独告诉 JSTD 有关每个模块( 装入一个 html/js 固定装置, 真正加载), 他们就不会得到代码覆盖的仪器 。
Has anyone gotten this specific combination to work? Maybe I m asking for too much...