要测试的方法允许将public LoadComponentAsync(componentPath:string, componentName:string,
locationAnchor:ViewContainerRef) {
System.import(componentPath)
.then(fileContents => {
console.log(fileContents);
return fileContents[componentName]
})
.then(component => {
this.resolver.resolveComponent(component).then(factory => {
locationAnchor.createComponent(factory, 0, locationAnchor.injector);
});
});
}
添加到用户添加的包含数据的其他文件中。
例如,用户可能会在path
目录中存储名为data.txt
的文件。我们希望将此目录的路径添加到名为/workspace/data
的现有数组中。
方式:
DATA_PATH
其中def add_custom_path(path)
DATA_PATH.unshift(path)
end
是用户存储文件的Rails应用程序中的位置。
宝石使用path
。
问题:
有没有办法在某个目录中临时生成文件,运行test-unit
测试,然后让文件消失?
我没有为宝石编写测试的经验,因此非常感谢任何指导。
答案 0 :(得分:2)
The .create
and .new
methods of Ruby's Tempfile
take a second argument which is the directory you want the file to be in,当临时文件的Tempfile
对象被垃圾收集或Ruby退出时,File
创建的文件会自动删除。所以你可以创建一个临时文件,
tempfile = Tempfile.new('filename', 'directoryname')
写信给它,做你的测试,让Ruby为你清理它。
请注意,第一个参数不是文件的整个非限定名称,而是Tempfile
添加消除歧义字符的部分,因此您可以在测试套件中安全地执行此操作。
此外,如果您需要文件具有特定后缀,您可以执行此操作。
tempfile = Tempfile.new(['filename', '.rb'], 'directoryname')