jasmine reporters没有生成任何文件
我用jasmine reporters在量角器完成测试后生成报告 这是我的配置文件:jasmine reporters没有生成任何文件,jasmine,protractor,jasmine-node,Jasmine,Protractor,Jasmine Node,我用jasmine reporters在量角器完成测试后生成报告 这是我的配置文件: onPrepare: function(){ var jasmineReporters = require('jasmine-reporters'); var capsPromise = browser.getCapabilities(); capsPromise.then(function(caps){
onPrepare: function(){
var jasmineReporters = require('jasmine-reporters');
var capsPromise = browser.getCapabilities();
capsPromise.then(function(caps){
var browserName = caps.caps_.browserName.toUpperCase();
var browserVersion = caps.caps_.version;
var prePendStr = browserName + "-" + browserVersion + "-";
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter("protractor_output", true, true,prePendStr));
});
},
我没有收到任何错误,安装了reporters,但我在量角器输出文件夹中没有看到任何文件
知道我做错了什么吗?问题在于jamsine版本: 如果您试图将jasmine reporters与量角器一起使用,请记住量角器是围绕jasmine 1.x构建的。因此,您需要使用jasmine reporters的1.x版本
npm install jasmine-reporters@~1.0.0
然后,配置应为:
onPrepare: function() {
// The require statement must be down here, since jasmine-reporters@1.0
// needs jasmine to be in the global and protractor does not guarantee
// this until inside the onPrepare function.
require('jasmine-reporters');
jasmine.getEnv().addReporter(
new jasmine.JUnitXmlReporter('xmloutput', true, true)
);
}
如果您使用的是较新版本的Jasmine Reporter,则require
语句不再将JUnitXmlReporter
放在Jasmine
对象上,而是将其放在模块导出上。然后,您的设置将如下所示:
onPrepare: function() {
// The require statement must be down here, since jasmine-reporters@1.0
// needs jasmine to be in the global and protractor does not guarantee
// this until inside the onPrepare function.
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(
new jasmineReporters.JUnitXmlReporter('xmloutput', true, true)
);
}
您还需要验证xmloutput目录是否存在问题在于jamsine版本: 如果您试图将jasmine reporters与量角器一起使用,请记住量角器是围绕jasmine 1.x构建的。因此,您需要使用jasmine reporters的1.x版本
npm install jasmine-reporters@~1.0.0
然后,配置应为:
onPrepare: function() {
// The require statement must be down here, since jasmine-reporters@1.0
// needs jasmine to be in the global and protractor does not guarantee
// this until inside the onPrepare function.
require('jasmine-reporters');
jasmine.getEnv().addReporter(
new jasmine.JUnitXmlReporter('xmloutput', true, true)
);
}
如果您使用的是较新版本的Jasmine Reporter,则require
语句不再将JUnitXmlReporter
放在Jasmine
对象上,而是将其放在模块导出上。然后,您的设置将如下所示:
onPrepare: function() {
// The require statement must be down here, since jasmine-reporters@1.0
// needs jasmine to be in the global and protractor does not guarantee
// this until inside the onPrepare function.
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(
new jasmineReporters.JUnitXmlReporter('xmloutput', true, true)
);
}
您还需要验证xmloutput目录是否存在要完成回答,如果输出仍然没有生成 尝试将以下配置行添加到量角器导出.config对象:
framework: "jasmine2",
onPrepare: function() {
var jasmineReporters = require('jasmine-reporters');
.......
}
要完成回答,如果输出仍然没有生成 尝试将以下配置行添加到量角器导出.config对象:
framework: "jasmine2",
onPrepare: function() {
var jasmineReporters = require('jasmine-reporters');
.......
}
你试过新的jasmine.JUnitXmlReporter('reports',true,true,prePendStr)吗;而不是JasmineReporter?是的,我得到:TypeError:undefined不是一个奇怪的函数,因为您稍早调用它jasmine.getEnv()。当我开始为我使用这个报告器时,它也没有写文件,当我调查mij node_modules dir中的junitXmlReporter时,我发现它没有我期望的其他人在stackoverflow上发布的参数。可能这也会导致安装中出现未标记的错误。@AndrePaap这只是意味着jasmine不包含JUnitXmlReporter出于某种原因,我试图重新安装它,但它不起作用,如果我使用JasmineReporter,我不会出错,但我在文件夹中看不到文件,我尝试了成功和失败,没有生成文件,可能我误解了。这是我的设置:require('jasmine-reporters');jasmine.getEnv().addReporter(new jasmine.JUnitXmlReporter('reports',true,true));。因此,我从全局jasmine创建JunitXmlReporter,但参数较少。我使用的jasmine reports版本可以使用第四个参数。您是否尝试过新的jasmine.JUnitXmlReporter(“reports”,true,true,prePendStr);而不是JasmineReporter?是的,我得到:TypeError:undefined不是一个奇怪的函数,因为您稍早调用它jasmine.getEnv()。当我开始为我使用这个报告器时,它也没有写文件,当我调查mij node_modules dir中的junitXmlReporter时,我发现它没有我期望的其他人在stackoverflow上发布的参数。可能这也会导致安装中出现未标记的错误。@AndrePaap这只是意味着jasmine不包含JUnitXmlReporter出于某种原因,我试图重新安装它,但它不起作用,如果我使用JasmineReporter,我不会出错,但我在文件夹中看不到文件,我尝试了成功和失败,没有生成文件,可能我误解了。这是我的设置:require('jasmine-reporters');jasmine.getEnv().addReporter(new jasmine.JUnitXmlReporter('reports',true,true));。因此,我从全局jasmine创建JunitXmlReporter,但参数较少。我使用的jasmine reports版本可以使用第四个参数。较新版本的jasmine reporters不再附加到jasmine对象,因此必须使用导出<代码>var jasmineReporters=require('jasmine-reporters')。。。新的jasmineReporters.JUnitXmlReporter('xmloutput',true,true)...@Snekse您应该添加这一点作为答案,并且它应该已经被接受。较新版本的jasmine reporters不再附加到jasmine对象,因此您必须使用导出<代码>var jasmineReporters=require('jasmine-reporters')。。。新的jasmineReporters.JUnitXmlReporter('xmloutput',true,true).@Snekse您应该添加这一点作为答案,并且应该是公认的答案