Jad*_*ias 5 automated-tests unit-testing mocking visual-studio-2008 visual-studio
我使用Visual Studio 2008 Professional自动化测试.我有一个写入文件的函数.我想单元测试文件写入功能.我已经读过某个地方,我不得不以某种方式模拟文件.我不知道怎么做.你能帮我吗?
如何对从Internet下载页面的方法进行单元测试?
如果该方法必须打开文件流本身,那么很难模拟.但是,如果您可以将流传递给方法,并使其写入该方法,则可以传入MemoryStream.替代重载可以占用更少的参数,打开文件并将FileStream传递给另一个方法.
这样你就得不到完整的覆盖范围(除非你写了一两个确实碰到磁盘的测试)但是你的大多数逻辑都在经过完全测试的代码中,在采用Stream参数的方法中.
这取决于你的代码与nut'n'bolts的接近程度; 例如,您可以在Stream
s中工作,并将a传递MemoryStream
给代码(并检查内容).您可以只写入文件系统(在临时区域中),检查内容并在之后丢弃它.如果你的代码比文件系统高一点,你可以用IFileSystem
你需要的高级方法(比如WriteAllBytes
/ WriteAllText
)编写一个可模拟的接口.不过,模拟流式API会很痛苦.
从互联网下载(或假装)...你可以(例如)IWebClient
用你需要的功能(如DownloadString
,等)编写一个界面; 嘲笑它返回固定内容,并使用类似的东西WebClient
作为实际实现的基础.当然,您需要针对真实站点测试实际实现.
归档时间: |
|
查看次数: |
3247 次 |
最近记录: |