0

如何模拟 HttpPostedFileBase ?

它的道具是只读的,我需要测试一个文件上传模块。

我应该使用什么模拟框架?

    public class FileUpload
    {

        private readonly HttpPostedFileBase _file;
        private readonly string _filePath;

        public FileUpload(HttpPostedFileBase file, string path)
        {
            _file = file;
            _filePath = path;
        }
.......
4

1 回答 1

2

HttpPostedFileBase是一个抽象类。在您的测试中,只需创建一个继承自它的新类并创建您自己的存根版本(硬编码您需要测试的方法结果)。你在做什么风格的测试?

  • 模拟(测试交互)
  • 存根(使用已知值进行测试)
  • 假货(使用更简单的对象来完成任务,不一定是生产代码)。

我认为这里的存根是最合适的。

或者,您可以使用 Moq(或其他框架)来帮助解决此问题。

于 2013-06-20T08:04:33.977 回答