首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与LoopbackJS结合使用Wallaby

与LoopbackJS结合使用Wallaby
EN

Stack Overflow用户
提问于 2015-05-17 00:02:06
回答 1查看 194关注 0票数 1

我正试图在LoopbackJS中使用Wallaby,最后几个小时只带来了失败。也许这里的人已经想好了该怎么做。这是我的壁板配置,它最接近“它在工作”

代码语言:javascript
复制
 module.exports = function () {
      return {
        files: [
          'server/**/*.js',
          'common/**/*.js',
          'test/global.js'
        ],
        tests: [
          'test/models/*.js',
          'test/services/*.js'
        ],
        workers: {
          recycle: true //doesn't matter whats set here
        },
        bootstrap: function (wallaby) {
          // try number 1
          if (global.app) return;
          var path = require('path');
          var loopback = require('loopback');
          var boot = require('loopback-boot');

          wallaby.delayStart();
          global.app = loopback();
          // instead of __dirname I was trying also localProjectDir and projectCacheDir
          boot(global.app, path.join(__dirname, 'server'), function () {
            wallaby.start();
          });
          // try number 2
          var path = require('path');
          if (global.app) return;
          global.app = require(path.join(wallaby.localProjectDir, 'server/server.js'));
        },
        env: {
          type: 'node',
          params: {
            env: 'NODE_ENV=test'
          }
        }
      };
    };

尝试1号启动,但应用程序似乎没有配置。App.get(‘’)和app.models.myModel都是未定义的。因为它运行了一些测试,所以第2号似乎更好一些,但它抛出的错误与第一个错误相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-17 03:39:37

将您的文件模式从**/*.js更改为**/*.*会有所帮助,因为也有json文件,它们确实参与了模型和配置初始化,所以壁虎也需要它们。您还需要使用process.cwd()wallaby.projectCacheDir而不是wallaby.localProjectDir,这样壁板才能为您完成代码覆盖。

代码语言:javascript
复制
module.exports = function () {
    return {
        files: [
          'server/**/*.*',
          'common/**/*.*',
          'test/global.js'
        ],
        tests: [
          'test/models/*.js',
          'test/services/*.js'
        ],

        bootstrap: function (wallaby) {
          if (global.app) return;
          var path = require('path');
          global.app = require(path.join(process.cwd(), 'server/server.js'));
        },

        env: {
          type: 'node',
          params: {
            env: 'NODE_ENV=test'
          }
        }
      };
};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30281958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档