我正在处理一个返回文件夹内容的npm模块。
我正在尝试测试所有可能的用例,我希望我的测试能够在Travis上运行。
我知道git无法处理空文件夹,如SO question所述,我们通常需要将隐藏文件放在git上存储半空文件夹。
但是如果我在我的文件夹中放入一个空文件,我正在测试一个不同的用例,所以我无法遵循这种模式。而且我也不能在Travis上运行脚本来创建一个空文件夹,因为 我的本地机器上的测试会失败。
您是否曾发现自己处于类似情况?您如何建议我处理这种情况?
编辑:我想在空文件夹中添加一个文件,并在测试开始时将其删除,但如果有人知道更聪明的方法,那么可能很容易做到。 删除占位符文件有点复杂,因为在我的开发机器上的每次测试运行时,它们都显示为我的git状态的非分段编辑...
答案 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");
});
...
最初它有点难看,因为我是以异步的方式写的,改写为路易斯建议它真的有所改进。