我有一个简单的FileCreator
Ruby类,它有一个方法create
,它在我的桌面上创建一个空白的txt文件。使用RSpec,我将如何测试此创建方法以确保文件已创建,而不必创建文件 ?我会用RSpec::Mocks
吗?有人可以请指出我在正确的目录?谢谢! 如何使用RSpec测试文件创建?
4
A
回答
7
致电file_creator.create(100)
之后,您可以在文件夹中搜索所有File*.txt
文件并确保计数匹配。 (确保完成后让你的规格删除测试文件)。
Dir.glob(File.join(File.expand_path("~/Desktop"), "File*.txt")).length.should == 100
使用嘲笑:你可以做这样的事情,以验证File.open
方法实际上是被称为(以测试该文件实际上生成,虽然,你可能要考虑实际创建的文件,如第一我的答案的一半)。
File.should_receive(:open).exactly(100).times
2
你也可以尝试使用类似FakeFS的东西,它嘲笑实际的文件系统。
0
做到这一点最简单的方法是如下:
FileCreator.count.should eq 100
相关问题
- 1. RSpec测试如果创建cookie
- 2. 为文件输入创建一个Ruby RSpec测试用例
- 3. 使用rspec测试可执行文件
- 4. 如何测试创建的.class文件?
- 5. 测试使用RSpec
- 6. 测试使用RSpec
- 7. 如何测试是否用rspec创建了一个对象?
- 8. Rspec测试ActiveAdmin创建动作
- 9. 如何使用rspec测试(Bean)Stalker?
- 10. 如何使用RSpec测试发生器
- 11. Rails:如何使用RSpec测试子域
- 12. 如何使用RSpec测试ThinkingSphinx
- 13. 如何使用rspec和capybara测试best_in_place
- 14. 如何使用RSpec测试ActiveRecord回调?
- 15. 如何使用Rspec的测试回调
- 16. 如何使用RSpec测试此代码?
- 17. 如何使用RSpec测试ActionCable通道?
- 18. 如何使用rspec测试declarative_authorization
- 19. 如何使用RSpec单元测试accep_nested_attributes_for?
- 20. 如何使用rspec测试Mongoid :: Observer
- 21. 如何使用Laravel Dusk创建.env文件以进行测试
- 22. 如何使用ReSharper创建NUnit测试?
- 23. 如何创建验证JSON响应的rspec测试?
- 24. 使用RSpec测试Rails控制器 - 如何测试:current_account.projects
- 25. 测试巨人使用RSpec
- 26. 使用RSpec 2测试RUBY_PLATFORM
- 27. 测试设计使用RSpec
- 28. 测试使用Rspec的
- 29. 使用RSpec测试CSV.generate
- 30. 在一个文件中使用Rspec,如测试/单元
这就是我想我会做到这一点。我想知道的是,如果有一种方法来使用模拟对象或什么东西,所以我不会在第一个地方创建文件? – agentbanks217 2011-02-02 02:25:11