从昨天开始我就一直在用头撞墙(昨晚只是被布鲁斯·斯普林斯汀的一场精彩的音乐会打断了...... ;-)
我正在尝试将一些 JS 测试添加到现有的(Rails)项目中。基本上文件夹结构是这样的:
.
├── app
│ └── assets
│ └── javascripts
│ └── strftime.js
└── spec
├── buster.js
└── javascripts
└── strftime.test.js
在这个非常简单的示例中,我从这里https://gist.github.com/cjohansen/1904218获取了 buster 示例,以确保在移动文件之前一切正常。
我的buster.js看起来像这样:
var config = exports;
config["Server tests"] = {
// sources: ["../app/assets/javascripts/strftime.js"],
tests: ["javascripts/strftime.test.js"],
env: "node"
};
我尝试将strftime.test.js的前 5 行修改为:
if (typeof require == "function" && typeof module == "object") {
buster = require("buster");
require("../app/assets/javascripts/strftime.js");
}
目前,当我运行 buster 测试时,我得到了这个:
$ buster test
Failed requiring ./spec/javascripts/strftime.test.js: Cannot find module '../app/assets/javascripts/lib/strftime.js'
如果我尝试取消注释源行,buster 测试会静默失败 - 即使我尝试以高调试级别运行它。
我已将整个示例 (2 KB) 压缩并放在这里,如果有人想尝试一下:http: //gehling.dk/b2.zip
更新:通过提供相对于我的 test-js 文件的路径,我成功地要求了 js 文件:
if (typeof require == "function" && typeof module == "object") {
buster = require("buster");
require("../../app/assets/javascripts/strftime.js");
}
但是如果我添加源参数,我仍然会遇到 buster 静默失败的问题。
TIA
/ 卡斯滕