Я пытаюсь использовать moq и system.io.abstraction для mock file.openread Function ..
Образец:
using System;
using System.IO;
using System.IO.Abstractions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
[TestClass]
public class FileServiceTests
{
[TestMethod]
public void OpenRead_ShouldThrowIOException_ThenReturnValidStream()
{
// Arrange
var filePath = "testfile.txt";
var expectedContent = "Hello, World!";
var fileBytes = System.Text.Encoding.UTF8.GetBytes(expectedContent);
var memoryStream = new MemoryStream(fileBytes);
var mockFileSystem = new Mock();
var mockFile = new Mock();
mockFileSystem.Setup(fs => fs.File).Returns(mockFile.Object);
mockFile.Setup(f => f.OpenRead(filePath))
.Returns(memoryStream);
var fileService = new FileService(mockFileSystem.Object);
using var resultStream = fileService.OpenFile(filePath);
using var reader = new StreamReader(resultStream);
var resultContent = reader.ReadToEnd();
// Assert
Assert.AreEqual(expectedContent, resultContent);
}
}
// Example service that uses IFileSystem for OpenRead
public class FileService
{
private readonly IFileSystem _fileSystem;
public FileService(IFileSystem fileSystem)
{
_fileSystem = fileSystem;
}
public Stream OpenFile(string path)
{
return _fileSystem.File.OpenRead(path);
}
}
< /code>
Проблема: < /strong> < /p>
образно FileSystemStream здесь, в «Возврат».
Не уверен, как я могу решить это ..
Подробнее здесь: https://stackoverflow.com/questions/794 ... e-openread
Mock file.openread ⇐ C#
Место общения программистов C#
1 сообщение
• Страница 1 из 1
Anonymous
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...