Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么伊斯坦布尔会在承诺链中显示所有内容的覆盖率,而不管是否有测试?_Javascript_Promise_Code Coverage_Bluebird_Istanbul - Fatal编程技术网

Javascript 为什么伊斯坦布尔会在承诺链中显示所有内容的覆盖率,而不管是否有测试?

Javascript 为什么伊斯坦布尔会在承诺链中显示所有内容的覆盖率,而不管是否有测试?,javascript,promise,code-coverage,bluebird,istanbul,Javascript,Promise,Code Coverage,Bluebird,Istanbul,我的代码有: .then((data) => { let providerId = data[1].name; console.log(providerId); return global.db.Transcription.create({ ConferenceId: foundConference.id }) .then(() => { return { providerId }; }); }) .t

我的代码有:

.then((data) => {
  let providerId = data[1].name;
  console.log(providerId);

  return global.db.Transcription.create({
    ConferenceId: foundConference.id
  })
    .then(() => {
      return {
        providerId
      };
    });
})
.then((dbTranscription) => {
  return factory.checkTranscription({
    Body: JSON.stringify({
      providerId: dbTranscription.providerId
    })
  });
})
伊斯坦布尔展览:


但是,我没有对调用的checktranslation进行具体测试,等等。我不想显示它。是否有这样做的方法?

伊斯坦布尔将在满足您为include属性提供的glob的任何文件中为代码提供覆盖范围。您还可以指定一个排除glob,用于排除特定文件,如测试文件本身。让伊斯坦布尔忽略特定函数实现的唯一方法是将该函数(在本例中为DbTransiption=>{return factory.checkTranscription…;})移动到它自己的模块,并将该文件从测试覆盖范围中排除

在被测试的代码库的某个地方,它正在调用承诺链并最终调用该函数。你可以看到,因为第71行的1x


问题是,为什么要将其从覆盖范围中排除?

我没有创建明确的测试条件来查看是否调用了checkTranscription。对于这种情况,很好——我可以简单地编写测试。但我更希望覆盖范围显示为未覆盖,这样它就可以作为我需要编写的其他测试的待办事项列表。imho有更好的方法。在大多数测试运行程序中,您可以省略测试用例中的函数,即“某个测试”或“某个其他测试”,并在测试运行期间将其标记为跳过或TODO