嘲笑已签名的身份用户

时间:2018-02-13 01:37:33

标签: asp.net unit-testing asp.net-core xunit

我正在使用Moq和xUnit来创建单元测试。但是,由于我的行动方法的设置方式,我很难这样做。在我的控制器中,我使用

var user = await userManager.FindByNameAsync(User.Identity.Name);

获取已登录的用户信息。我使用这种方法来避免参数的数量有没有办法在单元测试中模拟它,或者控制器是否应该以不同的方式设置?

AppUser类扩展IdentityUser以获取控制器中使用的特定属性。

1 个答案:

答案 0 :(得分:0)

对于上面的模拟,您可以执行以下操作,

class my_libav
{ 
public:
    typedef std::function<void(std::string)> STREAM_LOGGING_CALLBACK_CB;

    ...

    void SetStreamLoggingCallback(STREAM_LOGGING_CALLBACK_CB p_stream_logger);

private:
    STREAM_LOGGING_CALLBACK_CB  mp_stream_logging_callback;

    ...

    static void RedirectLoggingOutputs( void *ptr, int level, const char *fmt, va_list vargs );
};

请注意我还没有编译这段代码,但你应该能够理解。