- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将我的测试集成到竹子中。使用bamboo,好像需要测试结果为junit xml格式。因此,我需要让我的“grunt jasmine”执行以 xml 格式输出测试结果。我是 jasmine/grunt/junit 的新手,并且花了比我愿意承认的更多的时间来尝试让它发挥作用。我遵循了各种教程和板(主要是 https://gist.github.com/asabaylus/3059886 ),但我只是卡住了。
当我从 gitbash 运行“grunt jasmine”时,规范运行成功,但没有生成输出文件,我收到以下错误...
"处理模板时发生错误(无法调用方法 'indexO
f' 未定义)。使用 --force 继续。
由于警告而中止。”
我是否必须更改任何其他文件?任何人都可以帮我解决这个问题吗?
请和谢谢!
抄送
grunt.js 文件
/*global module:false*/
module.exports = function ( grunt ) {
// Project configuration.
grunt.initConfig({
meta: {
banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */'
},
lint: {
files: ['grunt.js', 'src/**/*.js']
},
jasmine: {
all: ['./SpecRunner.html'],
junit: {
dest: 'test-results'
}
},
concat: {
dist: {
src : ['<banner:meta.banner>', '<file_strip_banner:src/buyitnow.js>'],
dest: 'dist/buyitnow/<%= meta.version %>/buyitnow.js'
}
},
min: {
dist: {
src : ['<banner:meta.banner>', '<config:concat.dist.dest>'],
dest: 'dist/buyitnow/<%= meta.version %>/buyitnow.min.js'
}
},
watch: {
files: '<config:lint.files>',
tasks: 'lint'
},
jshint: {
options: {
curly : true,
eqeqeq : true,
immed : true,
latedef: true,
newcap : true,
noarg : true,
sub : true,
undef : true,
boss : true,
eqnull : true,
browser: true,
jquery : true,
node : true
},
globals: {}
},
uglify: {}
});
grunt.loadNpmTasks('grunt-jasmine-task');
// Default task.
grunt.registerTask('default', 'lint jasmine concat min cssmin');};
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Jasmine Spec Runner</title>
<link rel="shortcut icon" type="image/png" href="lib/jasmine-1.3.1/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="lib/jasmine-1.3.1/jasmine.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine-html.js"></script>
<script type="text/javascript" src="lib/jasmine.async.min.js"></script>
<script type="text/javascript" src="lib/sinon-1.6.0.js"></script>
<!-- For JUnit output of test results include the following link to Lary Myer's JUnit reporter -->
<script type="text/javascript" src="node_modules/jasmine-reporters/src/jasmine.junit_reporter.js"></script>
<!-- include spec files here... -->
<script type="text/javascript" src="spec/binSpec.js"></script>
<script type="text/javascript">
(function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
// Specify target test results folder as below, for now
var junitReporter = new jasmine.JUnitXmlReporter('test-results/');
jasmineEnv.addReporter(junitReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
var currentWindowOnload = window.onload;
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
execJasmine();
};
function execJasmine() {
jasmineEnv.execute();
}
})();
</script>
</head>
<body>
</body>
</html>
最佳答案
正如 Amir T 所说,您可以使用 grunt-contrib-jasmine
.此外,grunt-jasmine-task
不再活跃。
options.junit.path
选项可用于创建 junit 报告,然后可由 Jenkins/Hudson、Travis、Bamboo 等使用。此选项应提供将要创建报告的文件夹的名称(grunt-contrib-jasmine
将为每个规范文件)。这是一个示例配置:
jasmine: {
tests: {
src: 'dist/buyitnow/<%= meta.version %>/buyitnow.min.js',
options: {
specs: 'spec/*Spec.js',
junit: {
path: 'build/junit'
},
}
}
}
SpecRunner.html
文件,因为它是由
grunt-contrib-jasmine
自动创建的
关于junit - 如何从运行 grunt jasmine 中获取 xml 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18025410/
我安装了 grunt 和 grunt cli,但仍然出现命令未找到错误 { "name": "angulartdd", "version": "1.0.0", "description":
我有一个使用“grunt-contrib-watch”和“grunt-exec”的 Grunt.js 文件,这是因为我想以一种独特的方式使用 handlebars 预编译器的一些自定义功能。 代码:
我正忙于尝试完成我正在运行的部署脚本。它可能有一半的时间有效,而且令人沮丧,因为我使用的大部分代码都不是我写的。我真的希望有一个我可以执行的较低级别的解决方法。 基本上发生的事情是我正在尝试执行 5
我想像在文档中定义的那样将参数传递给grunt-shell: module.exports = function(grunt) { // Configure Grunt grunt.initConfi
背景 我正在使用 Yeoman webapp 来搭建我的前端。 在 gruntfile 中,他们使用 grunt-rev 和 grunt-usemin Grunt-rev 将“修改”我的 Assets
我已经设置了grunt-eslint在我的 gruntfile.js 中,但是当我运行“grunt eslint”时,什么也没有发生。该任务看似即将开始,但 15 分钟后却停滞不前。 我的所有其他任务
我最近开始使用 grunt 做 JS 项目。 我有一个名为“grunt-contrib-jasmine”的插件用于 Jasmine 测试。我工作得很好,但我无法在浏览器中通过 specrunner 运
谁能告诉我这里做错了什么(我是 grunt 的新手)一个大学给我提供了一个基本的 gruntfile 设置 我已经安装了 node、js 和 grunt,但我不知道如何安装各种包(uglify、con
我正在尝试使用 grunt-contrib-watch和 grunt-rsync将任何文件更改上传到我的开发服务器。这是我的设置: var path = require('path'); module
尝试使用grunt-kill创建一个任务来终止我的 server-scorm 任务,并最终终止所有相关任务。这些说明非常短,因为它假设我知道有关 PID 文件的所有信息(我不知道,不是开发人员的错误)
我要么脑子一片空白,要么本该更复杂。 我正在尝试从 Grunt 任务运行 grunt-init,如下所示: grunt.registerTask('init', 'Scaffold various a
我有一个从玩家发射的射弹预制件,当它与“边界”碰撞时,它应该摧毁自己,当它击中“咕噜声”时,它应该摧毁自己和咕噜声。但是,当它碰到边界时,它会破坏自身和边界的对撞机。我创建了一个自定义标签脚本,允许我
module.exports = function(grunt){ grunt.initConfig({ pkg: grunt.file.readJSON('package.json'),
我已经加入了一个非营利性开源项目,想帮点忙,但我对 Grunt 不熟悉。我做了一些研究,但无法弄清楚为什么配置不起作用。 这是我正在尝试使用的插件。它允许应用多个后处理器,但我现在只需要 Autopr
下面的代码读取app/modules/中的每个子目录js的内容(例如app/modules/module1/js/, app/modules/module2/js/, aso.) 此脚本在不使用最后一
我正在尝试使用 grunt-exec 运行一个 javascript 测试运行程序,并传入一个已部署的链接变量。 我尝试通过使用 exec:setLink 设置环境变量 grunt.option('l
当我使用 grunt-contrib-watch 更改我的 js 文件时,我试图让 Grunt 重新加载它们。这是我的 Gruntfile: module.exports = function(gru
所以我的意思是: grunt.registerTask('default', ['default']); // CLI: grunt grunt.registerTask('serve', ['ser
我想创建一个通用的顶级 Gruntfile.js,配置为监视较少的文件更改。当less文件发生变化时,我想将其编译为css,然后在浏览器中实时加载css文件。我的功能正常,但我必须为每个项目复制 Gr
我正在使用 grunt-xmlpoke 更新 xml 文件。 xml 文件的路径作为参数提供。问题是文件部分中的第一个 WebConfigPath (键)被视为字符串。它更新了我的 xml 文件的本地
我是一名优秀的程序员,十分优秀!