首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为使用xUnit和依赖项注入的.net核心2.0服务编写AutoMapper测试?

如何为使用xUnit和依赖项注入的.net核心2.0服务编写AutoMapper测试?
EN

Stack Overflow用户
提问于 2018-04-07 15:25:40
回答 1查看 7.1K关注 0票数 4

我是.net核心/C#编程新手(来自Java)

我有下面的Service,它使用依赖项注入获取AutoMapper对象和数据存储库对象,用于创建SubmissionCategoryViewModel对象的集合:

代码语言:javascript
复制
public class SubmissionCategoryService : ISubmissionCategoryService
{

    private readonly IMapper _mapper;

    private readonly ISubmissionCategoryRepository _submissionCategoryRepository;

    public SubmissionCategoryService(IMapper mapper, ISubmissionCategoryRepository submissionCategoryRepository)
    {

        _mapper = mapper;

        _submissionCategoryRepository = submissionCategoryRepository;

    }

    public List<SubmissionCategoryViewModel> GetSubmissionCategories(int ConferenceId)
    {


        List<SubmissionCategoryViewModel> submissionCategoriesViewModelList = 
            _mapper.Map<IEnumerable<SubmissionCategory>, List<SubmissionCategoryViewModel>>(_submissionCategoryRepository.GetSubmissionCategories(ConferenceId) );

        return submissionCategoriesViewModelList;


    }
}

我正在使用Xunit编写单元测试。我不知道如何为方法GetSubmissionCategories编写单元测试,并让我的测试类提供一个IMapper实现和一个ISubmissionCategoryRepository实现。

到目前为止,我的研究表明,我可以创建依赖对象的测试实现(例如SubmissionCategoryRepositoryForTesting),也可以使用模拟库来创建依赖关系接口的模拟。

但我不知道如何创建AutoMapper的测试实例或AutoMapper的模拟。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-07 15:44:17

这段代码应该为您提供了一个优势:

代码语言:javascript
复制
[Fact]
public void Test_GetSubmissionCategories()
{
    // Arrange
    var config = new MapperConfiguration(cfg =>
    {
        cfg.AddProfile(new YourMappingProfile());
    });
    var mapper = config.CreateMapper();
    var repo = new SubmissionCategoryRepositoryForTesting();
    var sut = new SubmissionCategoryService(mapper, repo);

    // Act
    var result = sut.GetSubmissionCategories(ConferenceId: 1);

    // Assert on result
}
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49708895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档