Javascript 如何在Travis中测试空文件夹?
我正在开发一个npm模块,它返回文件夹的内容 我正在尝试测试所有可能的用例,并且我希望我的测试能够继续运行 我知道git不能处理空文件夹,正如上面所描述的,我们通常必须在git上放置隐藏文件来存储半空文件夹 但是如果我把一个空文件放在我的文件夹中,我正在测试一个不同的用例,所以我不能遵循这个模式。我也不能在Travis上运行脚本来创建一个空文件夹,因为 在我的本地机器上测试会失败 你曾经发现自己处于类似的情况吗?你建议我如何处理这种情况 编辑:我想在空文件夹中添加一个文件,并在测试开始时将其删除,但如果有人知道一种更聪明的方法,这可能很容易做到。Javascript 如何在Travis中测试空文件夹?,javascript,node.js,git,travis-ci,Javascript,Node.js,Git,Travis Ci,我正在开发一个npm模块,它返回文件夹的内容 我正在尝试测试所有可能的用例,并且我希望我的测试能够继续运行 我知道git不能处理空文件夹,正如上面所描述的,我们通常必须在git上放置隐藏文件来存储半空文件夹 但是如果我把一个空文件放在我的文件夹中,我正在测试一个不同的用例,所以我不能遵循这个模式。我也不能在Travis上运行脚本来创建一个空文件夹,因为 在我的本地机器上测试会失败 你曾经发现自己处于类似的情况吗?你建议我如何处理这种情况 编辑:我想在空文件夹中添加一个文件,并在测试开始时将其删除
删除占位符文件有点复杂,因为在我的开发机器上的每次测试运行中,它们在我的git状态下都显示为未老化的编辑 我沿着错综复杂的道路走。 如果将来它可能对某人有用,测试的代码 而且,万一GitHub将被关闭,尽管发生了灾难,我们仍然活着,下面是代码摘录:
...
describe("webdisk", function() {
before(function() {
fs.unlinkSync("test/files/fold2/remove.this");
fs.unlinkSync("test/only-folders/fold1/remove.this");
});
after(function() {
fs.writeFileSync("test/files/fold2/remove.this", "remove.this");
fs.writeFileSync("test/only-folders/fold1/remove.this", "remove.this");
});
...
起初,它有点难看,因为我是以异步方式编写的,正如Louis所说的那样,它被重写了,真的改进了。是的,难看。为什么要在
之前
和之后的中使用fs.unlink
和fs.writeFile
的异步版本,而不是使用这两个调用的同步版本?谢谢,建议不错。这只是习惯使用异步,但在这种情况下,同步更好。。。