如何在Travis中测试空文件夹?

时间:2014-01-27 18:37:06

标签: javascript node.js git travis-ci

我正在处理一个返回文件夹内容的npm模块。

我正在尝试测试所有可能的用例,我希望我的测试能够在Travis上运行。

我知道git无法处理空文件夹,如SO question所述,我们通常需要将隐藏文件放在git上存储半空文件夹。

但是如果我在我的文件夹中放入一个空文件,我正在测试一个不同的用例,所以我无法遵循这种模式。而且我也不能在Travis上运行脚本来创建一个空文件夹,因为 我的本地机器上的测试会失败。

您是否曾发现自己处于类似情况?您如何建议我处理这种情况?

编辑:我想在空文件夹中添加一个文件,并在测试开始时将其删除,但如果有人知道更聪明的方法,那么可能很容易做到。 删除占位符文件有点复杂,因为在我的开发机器上的每次测试运行时,它们都显示为我的git状态的非分段编辑...

1 个答案:

答案 0 :(得分:0)

我遵循错综复杂的道路。 如果将来对某人有用,可以使用测试代码is on GitHub

而且,就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");
    });

...

最初它有点难看,因为我是以异步的方式写的,改写为路易斯建议它真的有所改进。