Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 量角器-在等级库2中读取等级库1中填充的CSV文件_Javascript_File_Protractor_Automated Tests - Fatal编程技术网

Javascript 量角器-在等级库2中读取等级库1中填充的CSV文件

Javascript 量角器-在等级库2中读取等级库1中填充的CSV文件,javascript,file,protractor,automated-tests,Javascript,File,Protractor,Automated Tests,我正在使用量角器来自动化一些测试 在规范1中,我执行了一些操作,并在CSV文件中收集了一些信息: describe("Spec 1", function () { for (let i of some_useful_array) { it("does some business", async function () { saveData(someData) }) } function saveData(some

我正在使用量角器来自动化一些测试

在规范1中,我执行了一些操作,并在CSV文件中收集了一些信息:

describe("Spec 1", function () {

  for (let i of some_useful_array) {
    it("does some business", async function () {
      saveData(someData)
    })
  }

  function saveData(someData) {
    fs.appendFile("./file.csv", "\n" + someData, (err) => {
      if (err) {
        console.log(err);
      }
    })
  }

})
在规范2中,我想使用以下信息:

var myFile= fs.readFileSync('./file.csv');

const data = parse(myFile, {
  columns: true,
  skip_empty_lines: true
})

describe("Spec 2", function () {

  for (let i of some_other_useful_array) {
    it("does some other business", function () {
      console.log(data) // logs an empty array ([]) when run in the same execution than spec 1
    })
  }
})
当我分别运行spec 1和spec 2时,它就像一个符咒,但当我在同一执行中运行它们时,它就不起作用了。我想我需要关闭一些东西,我已经尝试了一些东西(例如
fs.close()
),但这些都不起作用

有什么想法吗

编辑:我尝试了一些方法:在规范1中将file.csv复制到file2.csv,并在规范2中使用file2.csv。它似乎工作得更好一些。虽然解决方法很糟糕,但在我找到更好的解决方案之前已经足够好了。

是异步的,这意味着javascript不会等到它完成它的任务。基本上,spec 2是在csv完全创建之前运行的。当您运行真正的规范时,这可能不会是一个问题,至少需要几秒钟。但是为了安全起见,你最好去做同样的事情,但在这件事完成之前不要安排另一项任务

这里描述了解决此行为的另一种方法

这并不能解决我面临的问题,但它有助于我进行调查。谢谢