首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连续集成自动化业力单元测试

如何连续集成自动化业力单元测试
EN

Stack Overflow用户
提问于 2015-03-10 16:36:36
回答 2查看 2.8K关注 0票数 2

目前,我们运行业力/茉莉花单元测试一个吞咽任务:gulp test

我们正在努力弄清楚如何让圈圈自动运行我们的测试。我尝试将gulp test添加到circle.yml文件的test:部分,但得到了gulp: command not found。但是,如果我尝试一些基本的东西,比如pwd,我会得到同样的错误。所以很明显我做错了什么。

我认为通过在scripts中使用package.json属性可以实现同样的结果,因为循环可以自动运行,但我不知道如何做到这一点。

这是我们的circle.yml文件..。

代码语言:javascript
复制
dependencies:
  override:
    - echo PHP rules

test:
  override:
    - gulp test #this doesnt work!

deployment:
  development:
    branch: dev
    heroku:
      appname: ourapp

这是package.json..。

代码语言:javascript
复制
{
  "name": "ourapp",
  "private": true,
  "description": "An app",
  "main": "index.js",
  "dependencies": {
    "gulp": "~3.8.5"
  },
  "devDependencies": {
    "karma": "~0.12.31",
    "karma-chrome-launcher": "~0.1.7",
    "jasmine-core": "~2.2.0",
    "karma-jasmine": "~0.3.5",
    "karma-firefox-launcher": "~0.1.4",
    "karma-ie-launcher": "~0.1.5",
    "karma-opera-launcher": "~0.1.0",
    "karma-phantomjs-launcher": "~0.1.4",
    "gulp": "~3.8.10",
    "gulp-karma": "0.0.4",
    "karma-coverage": "~0.2.7"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "The A Team"
}

以防万一有用,这是我们的任务.

代码语言:javascript
复制
gulp.task('test', function(){
  return gulp.src(testFiles)
    .pipe(karma({
      configFile: 'karma.conf.js',
      action: 'run' //change to watch if you want to auto-run 
    }))
    .on('error', function(err){
      throw err;
    })
});

为了保持一致性,我认为最好的方法是让循环运行gulp任务,但是如果我们必须手动运行karma ...,那也没关系。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-11 12:41:02

以下是对我起作用的东西:

代码语言:javascript
复制
dependencies:
  pre:
    - npm install -g gulp

test:
  override:
    - gulp test

machine:
  php:
    version: 5.6.2

npm install -g gulp对我来说是个缺失的部分。Circleci将检测package.json并自动运行npm install,但我需要pre:全局安装它,这样我的gulp任务才能正常工作。

还值得一提的是,循环自动知道业力/茉莉花测试是否通过或失败,通过检测退出代码。所以这只是-就是这样。

票数 5
EN

Stack Overflow用户

发布于 2015-03-11 10:01:06

我是CircleCI开发人员之一。您需要做的是在您的NodeJS中指定要构建的circle.yml版本,以便触发NodeJS推理规则- https://circleci.com/docs/language-nodejs

一旦您这样做,我们将自动运行npm installnpm test等。为了让npm test做正确的事情,您需要正确配置测试脚本。最好先在您的本地环境中运行。

您可能还需要将gulp-cli添加为dev依赖项,目前大多数NodeJS工具将库和cli二进制文件拆分为不同的包。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28969242

复制
相关文章

相似问题

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