javascript - 从 karma 测试访问projectDir?

标签 javascript node.js gulp karma-runner gulp-karma

在 karma test beforeEach) block 中,我想从项目目录访问(读取)一个文件。但是,我不知道如何访问该目录,因为 process.cwd() 返回测试正在运行的目录,这是由 node 或 gulp 分配的随机私有(private)目录。

如何找到正在运行的测试中的项目目录?

describe.only('convertClaimTypes', function () {
    var claimTypes;

    before(function () {
        var base = process.cwd();
        claimTypes = fs.readFileSync(path.join(base, 'build/resources/claimTypes.json'));
        claimTypes = JSON.parse(claimTypes);
    });
...

最佳答案

尝试使用__dirname代替 process.cwd(),因为它为您提供当前文件的目录而不是可执行文件的目录。

例如,如果您的测试位于目录 /test 中,并且 /build 是应用程序根目录中的目录,请从 /test 访问 /build,如下所示:

path.resolve(__dirname, '../build/');

关于javascript - 从 karma 测试访问projectDir?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32026130/

相关文章:

javascript - 如何链接元素中的多个 css js 文件而不在每个其他文件中明确提及它

javascript - 将位置设置为其他对象的位置在 THREE.js 中不起作用

node.js - Namecheap:Node JS Express 应用程序 - 应用程序路由返回 404 未找到

javascript - gulp browser-sync 不提供 json 文件

javascript - 使用 gulp.watch 会抛出 "TypeError: Object #<Object> has no method ' watch'"

javascript - Aurelia.js 框架 aurelia-table 分页

javascript - Typescript 接口(interface)未捕获类型错误 : Cannot set property

node.js - Sequelize 将 PSQL 设置为 VARCHAR(255),无论我是否告诉它 TEXT(2048) 或任何其他长度

javascript - 将子类 'this' 绑定(bind)到所有父原型(prototype)函数

Gulp 4.0 忽略 watch 不工作