age*_*217 5 ruby file-io rspec
我有一个简单的FileCreatorRuby类,它有一个方法create,可以在我的桌面上创建一个空白的txt文件.使用RSpec,如何测试此create方法以确保创建文件,而无需创建文件?我会用RSpec::Mocks吗?有人可以指出我在正确的目录?谢谢!

调用后,file_creator.create(100)您可以在文件夹中搜索所有File*.txt文件,并确保计数匹配.(确保完成后您的规范删除了测试文件).
Dir.glob(File.join(File.expand_path("~/Desktop"), "File*.txt")).length.should == 100
Run Code Online (Sandbox Code Playgroud)
使用Mocks:您可以执行类似这样的操作来验证该File.open方法是否实际被调用(以测试文件实际上是否已创建,但是,您可能需要考虑实际创建文件,如我的答案的前半部分).
File.should_receive(:open).exactly(100).times
Run Code Online (Sandbox Code Playgroud)